1、單件模式
Class:SingletonClass
Option
?
Explicit
Public
?Count?
As
?
Integer
Private
?
Sub
?Class_Initialize()
????
If
?gSingleton?
Is
?
Nothing
?
Then
????????
Set
?gSingleton?
=
?Me
????
End
?
If
End?Sub
Public
?
Function
?GetInstance()?
As
?SingletonClass
????
Set
?GetInstance?
=
?gSingleton
End?Function
模塊聲明
Public
?gSingleton?
As
?SingletonClass
Public
?
Function
?SetName(Name?
As
?
String
)
????SetName?
=
?
Trim
(
UCase
(Name))
End?Function
Implements?IMethod
Private
?Base?
As
?IMethod
Private
?
Sub
?Class_Initialize()
????
Set
?Base?
=
?
New
?IMethod
End?Sub
Private
?
Sub
?Class_Terminate()
????
Set
?Base?
=
?
Nothing
End?Sub
Private
?
Function
?IMethod_SetName(Name?
As
?
String
)?
As
?Variant
????IMethod_SetName?
=
?Base.SetName(Name)
????IMethod_SetName?
=
?IMethod_SetName?
&
?
"
0001
"
End?Function
3:工廠模式:
CreateObject
4:ComUnit的一個(gè)設(shè)計(jì)模式
Implements?ITestContainer
Public
?
Property
?
Get
?ITestContainer_TestCaseNames()?
As
?Variant()
????ITestContainer_TestCaseNames?
=
?
Array
(
"
TestString
"
)
End?Property
Public
?
Sub
?ITestContainer_RunTestCase(oTestCase?
As
?ITestCase,?oTestResult?
As
?TestResult)
????CallByName?Me,?oTestCase.Name,?VbMethod,?oTestResult
End?Sub
Public
?
Sub
?TestString(oTestResult?
As
?TestResult)
End?Sub
使用TestCaseNames向外暴露自身擴(kuò)展的成員。
使用類似于TestString的方法(接口參數(shù)一致),來擴(kuò)展自身功能。
借助TestResult來貫穿類處理的總線。
使用TestRunner來處理符合ITestContainer接口的類。
5:觀察者模式
Option
?
Explicit
'
Ineteface?Subject
Public
?
Sub
?Register(obs?
As
?Observer)
End?Sub
Option
?
Explicit
'
Interface?Observer
Public
?
Sub
?Notify(msg?
As
?
String
)
End?Sub
'
frmMain
Implements?Subject
Dim
?cc?
As
?Collection
Private
?
Sub
?Command1_Click()
????
Dim
?c?
As
?Observer
????
For
?
Each
?c?In?cc
????????c.Notify?
InputBox
(
"
Caption:
"
)
????
Next
End?Sub
Private
?
Sub
?Form_Load()
????
Set
?cc?
=
?
New
?Collection
????
Dim
?o?
As
?frm1
????
Set
?o?
=
?
New
?frm1
????o.Ini?Me
????o.Show
????
????
Dim
?oo?
As
?frm2
????
Set
?oo?
=
?
New
?frm2
????oo.Ini?Me
????oo.Show
End?Sub
Private
?
Sub
?Subject_Register(obs?
As
?Observer)
????cc.Add?obs
End?Sub
'
frm1
Implements?Observer
Public
?
Sub
?Ini(s?
As
?Subject)
????s.Register?Me
End?Sub
Private
?
Sub
?Observer_Notify(msg?
As
?
String
)
????Me.Caption?
=
?msg
End?Sub
'
frm2
Implements?Observer
Public
?
Sub
?Ini(s?
As
?Subject)
????s.Register?Me
End?Sub
Private
?
Sub
?Observer_Notify(msg?
As
?
String
)
????Me.Caption?
=
?msg
End?Sub
Class:SingletonClass













模塊聲明

2、方法繼承
Class:IMethod




Class:NewMethod
















3:工廠模式:
CreateObject
4:ComUnit的一個(gè)設(shè)計(jì)模式












使用TestCaseNames向外暴露自身擴(kuò)展的成員。
使用類似于TestString的方法(接口參數(shù)一致),來擴(kuò)展自身功能。
借助TestResult來貫穿類處理的總線。
使用TestRunner來處理符合ITestContainer接口的類。
5:觀察者模式

































































更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
