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的一個設計模式
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向外暴露自身擴展的成員。
使用類似于TestString的方法(接口參數一致),來擴展自身功能。
借助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的一個設計模式












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

































































更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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