黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

VB6-設計模式點滴

系統 1907 0
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


2、方法繼承
Class:IMethod

Public ? Function ?SetName(Name? As ? String )
????SetName?
= ? Trim ( UCase (Name))
End?Function

Class:NewMethod

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

VB6-設計模式點滴


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論