亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

設(shè)計(jì)模式—詳解篇—行為型模式

系統(tǒng) 1635 0

2. ? Template 模板模式

?? ???? ? 定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可

以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。

??????? 看圖說話:

???????
???????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

???????? 拿流水線為例,同樣的過程,使用了不同的原料得到的產(chǎn)品特性也是不一樣的。

這里的過程就是模板,使用不同的原料就是模板中各個(gè)工序的差異。

??? 從此模式我們可以深刻的認(rèn)識到接口與抽象類之間的重要差異。抽象類因?yàn)榭梢?

被繼承所以能夠制造模板給自己的子類。

?

3. ? Memento 備忘錄模式

??????? 在不破壞封裝性的前提下,捕獲一個(gè)對象的內(nèi)部狀態(tài),并在該對象之外保存這個(gè)狀

態(tài)。這樣以后就可將該對象恢復(fù)到原先保存的狀態(tài)。

??? 看圖說話:

???
?????????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

??? 備忘過程就像寫心情日記

Originator :發(fā)起人 ( 寫日記的人 ) ,他自己向日記本中記錄心情,同時(shí)也能從日

記本中翻閱心情。

??? Memento :備忘錄 ( 心情 ) ,為了不讓別人偷窺日記內(nèi)容,需要將內(nèi)容通過

Memento 的構(gòu)造函數(shù)傳入,并不給予 set 方法。

??? Caretaker :管理者(日記本),它只能裝載日記而不能查看日記內(nèi)容。

?

4. ? Observer 觀察者模式

定義了一種一對多的依賴關(guān)系,讓多個(gè)觀察者對象同時(shí)監(jiān)聽某一個(gè)主題對象。這個(gè)

主題對象在狀態(tài)發(fā)生變化時(shí),會通知所有觀察者對象,使他們能夠自動更新自己。

??? 看圖說話:

???
?????????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

???????? 被觀察的對象記錄 (attachObserver) 或剔除觀察者,等自己有狀態(tài)變化了,通知觀察者,觀察者通過統(tǒng)一的 update 方法接受通知。

?

5. ? Chain of Responsibility 職責(zé)鏈模式

??????? 使多個(gè)對象都有機(jī)會處理請求,從而避免請求的發(fā)送者和接收者之間的耦合關(guān)系。

將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個(gè)對象處理它為止。

??? 看圖說話:

???
??????????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

??????? 每個(gè)具體的請求處理對象都要在使用之前設(shè)置自己的后繼處理者,在自己的處理方法中判斷自己能否處理,如果不能處理就傳遞到后繼處理對象進(jìn)行處理。 ?

6. ? Command 命令模式

??????? 將一個(gè)請求封裝為一個(gè)對象,從而使你可用不同的請求對客戶進(jìn)行參數(shù)化;對請求排隊(duì)或記錄請求日志,以及支持可撤銷的操作。

??????? 看圖說話:

???????
???????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

??????? 此模式是將一個(gè)請求才分為一個(gè)命令和一個(gè)執(zhí)行者,實(shí)現(xiàn)執(zhí)行過程與具體請求的解

耦。

?? Invoker :發(fā)出命令的對象。

?? Command :具體命令。

?? Receiver :具體執(zhí)行命令的對象。

7. ? State 狀態(tài)模式

??????? 當(dāng)一個(gè)對象的內(nèi)在狀態(tài)改變時(shí)允許改變其行為,這個(gè)對象看起來像是改變了其類。

??????? 看圖說話:

???? ?
???????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

?? State :多種狀態(tài)形式

?? Context :對外提供的接口,維系著狀態(tài)的改變。

?? 此模式中具體的狀態(tài)對象在處理請求時(shí)要同時(shí)維系狀態(tài)的切換,有前進(jìn)的,也要有

后退的,客戶端與 Context 交互。

?

8. ? Strategy 策略模式

??????? 它定義了算法家族,分別封裝起來,讓它們之間可以相互替代,此模式讓算法的變

化,不影響到使用算法的客戶。

??????? 看圖說話

????????
???????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

??????? Context

與客戶端通信的接口

保存了對具體策略的引用,可與簡單工廠結(jié)合來創(chuàng)建可客戶端選擇的策略

contextInterface() 接口中間接調(diào)用具體策略的算法。

?

9. ? Mediator 中介者模式

??????? 用一個(gè)中介對象來封裝一系列的對象交互。中介者使各對象不需要顯示的互相引

用,從而使其耦合松散,而且可以獨(dú)立地改變他們之間的交互。

??? 看圖說話:

???
??????????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

???????? 為何使用 Mediator?
注解:

????????????? 中介者模式使得本來需要耦合在一起的對象之間可以獨(dú)立的變化,而不互相影響。即原本是多對多的關(guān)系變成了一對多的關(guān)系。

10 Interpreter 解釋器模式

??????? 給定一個(gè)語言,定義它的文法的 一種表示,并定義一個(gè)解釋器,這個(gè)解釋器使用

該表示來解釋語言中的句子。

??? 看圖說話:

???? ? ?
???????????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

???? AbstractExpression :文法表達(dá)式樹

???? TerminalExpression :終結(jié)符表達(dá)式

???? NonTerminalExpression :非終結(jié)符表達(dá)式,有后繼元素,在 interpret 時(shí)遞歸調(diào)用。

???? Context :外部信息狀況。

11 Visitor 訪問者模式

??????? 表示一個(gè)作用于某對象結(jié)構(gòu)中的各元素的操作。它使你可以不在改變各元素的類的

前提下定義作用于這些元素的新操作。

??? 看圖說話:

?????
??????????? 設(shè)計(jì)模式—詳解篇—行為型模式
?

???? 一般使用此模式的情形是:有一定的結(jié)構(gòu)對象,如 Collections ,為結(jié)構(gòu)中每個(gè)元

素都提供了外部訪問方式。

??? 使用的前提條件:被訪問者的類型應(yīng)很少改變,如果改變就會影響到訪問者的變

動。訪問者可以根據(jù)不同的需要提供不同的子類。

設(shè)計(jì)模式—詳解篇—行為型模式


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 狠狠成人 | 国产在线观看一区二区三区四区 | 亚洲毛片免费看 | 免费爱爱视频网站 | 日本人69视频jizz免费看 | 日本一级在线播放线观看视频 | 亚洲欧美日韩国产 | 久久精彩免费视频 | 亚洲欧美一区二区三区综合 | 久久99中文字幕伊人 | a级高清观看视频在线看 | 国产最新精品精品视频 | 亚洲综合色色图 | 黄色成人在线视频 | 女人l8毛片a一级毛片免费 | 国产免费人视频在线观看免费 | 久久精品视频在线播放 | 久久五月天综合 | 亚洲成 人a影院青久在线观看 | a性视频| 免费高清在线爱做视频 | 久草精品视频在线播放 | 免费一级淫片 | 亚洲日日做天天做日日谢 | 成人激情免费视频 | 欧美一级毛片欧美一级无片 | 四虎精品福利视频精品 | 日韩一级在线视频 | 欧美日韩中文字幕在线观看 | 播放一级录像片 | 日韩欧美在线观看视频 | 国产大片中文字幕 | 久久精品国产久精国产80cm | 欧美乱大交xxxxx在线观看 | 一区二区三区鲁丝不卡麻豆 | 欧美毛片网 | 亚洲欧美中文日韩二区一区 | 久久视频精品36线视频在线观看 | 天天操夜夜操狠狠操 | www.黄色一片 | 亚洲欧美日韩精品久久久 |