《行為型模式》PPT課件

《行為型模式》PPT課件

ID:45632207

大?。?.08 MB

頁(yè)數(shù):199頁(yè)

時(shí)間:2019-11-15

《行為型模式》PPT課件_第1頁(yè)
《行為型模式》PPT課件_第2頁(yè)
《行為型模式》PPT課件_第3頁(yè)
《行為型模式》PPT課件_第4頁(yè)
《行為型模式》PPT課件_第5頁(yè)
資源描述:

《《行為型模式》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、軟件設(shè)計(jì)模式教學(xué)內(nèi)容行為型模式命令模式迭代器模式觀察者模式策略模式模板方法模式行為型模式行為型模式概述行為型模式(BehavioralPattern)是對(duì)在不同的對(duì)象之間劃分責(zé)任和算法的抽象化。行為型模式不僅僅關(guān)注類和對(duì)象的結(jié)構(gòu),而且重點(diǎn)關(guān)注它們之間的相互作用。通過行為型模式,可以更加清晰地劃分類與對(duì)象的職責(zé),并研究系統(tǒng)在運(yùn)行時(shí)實(shí)例對(duì)象之間的交互。在系統(tǒng)運(yùn)行時(shí),對(duì)象并不是孤立的,它們可以通過相互通信協(xié)作完成某些功能,一個(gè)對(duì)象在運(yùn)行時(shí)也將影響到其他對(duì)象的運(yùn)行。行為型模式行為型模式概述行為型模式分為類行為型模式和對(duì)

2、象行為型模式兩種:類行為型模式:類的行為型模式使用繼承關(guān)系在幾個(gè)類之間分配行為,類行為型模式主要通過多態(tài)等方式來(lái)分配父類與子類的職責(zé)。對(duì)象行為型模式:對(duì)象的行為型模式則使用對(duì)象的聚合關(guān)聯(lián)關(guān)系來(lái)分配行為,對(duì)象行為型模式主要是通過對(duì)象關(guān)聯(lián)等方式來(lái)分配兩個(gè)或多個(gè)類的職責(zé)。根據(jù)“合成復(fù)用原則”,系統(tǒng)中要盡量使用關(guān)聯(lián)關(guān)系來(lái)取代繼承關(guān)系,因此大部分行為型設(shè)計(jì)模式都屬于對(duì)象行為型設(shè)計(jì)模式。行為型模式行為型模式簡(jiǎn)介職責(zé)鏈模式(ChainofResponsibility)命令模式(Command)解釋器模式(Interprete

3、r)迭代器模式(Iterator)中介者模式(Mediator)備忘錄模式(Memento)觀察者模式(Observer)狀態(tài)模式(State)策略模式(Strategy)模板方法模式(TemplateMethod)訪問者模式(Visitor)命令模式模式動(dòng)機(jī)在軟件設(shè)計(jì)中,我們經(jīng)常需要向某些對(duì)象發(fā)送請(qǐng)求,但是并不知道請(qǐng)求的接收者是誰(shuí),也不知道被請(qǐng)求的操作是哪個(gè),我們只需在程序運(yùn)行時(shí)指定具體的請(qǐng)求接收者即可,此時(shí),可以使用命令模式來(lái)進(jìn)行設(shè)計(jì),使得請(qǐng)求發(fā)送者與請(qǐng)求接收者消除彼此之間的耦合,讓對(duì)象之間的調(diào)用關(guān)系更加靈

4、活。命令模式模式動(dòng)機(jī)命令模式命令模式模式動(dòng)機(jī)命令模式可以對(duì)發(fā)送者和接收者完全解耦,發(fā)送者與接收者之間沒有直接引用關(guān)系,發(fā)送請(qǐng)求的對(duì)象只需要知道如何發(fā)送請(qǐng)求,而不必知道如何完成請(qǐng)求。這就是命令模式的模式動(dòng)機(jī)。命令模式模式定義命令模式(CommandPattern):將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使我們可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或者記錄請(qǐng)求日志,以及支持可撤銷的操作。命令模式是一種對(duì)象行為型模式,其別名為動(dòng)作(Action)模式或事務(wù)(Transaction)模式。命令模式模式定義Encapsula

5、tearequestasanobject,therebylettingyouparameterizeclientswithdifferentrequests,queueorlogrequests,andsupportundoableoperations.Frequencyofuse:mediumhigh命令模式模式結(jié)構(gòu)命令模式模式結(jié)構(gòu)命令模式包含如下角色:Command:抽象命令類ConcreteCommand:具體命令類Invoker:調(diào)用者Receiver:接收者Client:客戶類命令模式模式分析命令模式

6、的本質(zhì)是對(duì)命令進(jìn)行封裝,將發(fā)出命令的責(zé)任和執(zhí)行命令的責(zé)任分割開。每一個(gè)命令都是一個(gè)操作:請(qǐng)求的一方發(fā)出請(qǐng)求要求執(zhí)行一個(gè)操作;接收的一方收到請(qǐng)求,并執(zhí)行操作。命令模式允許請(qǐng)求的一方和接收的一方獨(dú)立開來(lái),使得請(qǐng)求的一方不必知道接收請(qǐng)求的一方的接口,更不必知道請(qǐng)求是怎么被接收,以及操作是否被執(zhí)行、何時(shí)被執(zhí)行,以及是怎么被執(zhí)行的。命令模式模式分析命令模式使請(qǐng)求本身成為一個(gè)對(duì)象,這個(gè)對(duì)象和其他對(duì)象一樣可以被存儲(chǔ)和傳遞。命令模式的關(guān)鍵在于引入了抽象命令接口,且發(fā)送者針對(duì)抽象命令接口編程,只有實(shí)現(xiàn)了抽象命令接口的具體命令才與

7、接收者相關(guān)聯(lián)。命令模式模式分析典型的抽象命令類代碼:publicabstractclassCommand{publicabstractvoidexecute();}命令模式模式分析典型的調(diào)用者代碼:publicclassInvoker{privateCommandcommand;publicInvoker(Commandcommand){this.command=command;}publicvoidsetCommand(Commandcommand){this.command=command;}//業(yè)務(wù)方法,

8、用于調(diào)用命令類的方法publicvoidcall(){command.execute();}}命令模式模式分析典型的具體命令類代碼:publicclassConcreteCommandextendsCommand{privateReceiverreceiver;publicvoidexecute(){receiver.action();}}命令模式模式分析典型的請(qǐng)求接收者代碼:publ

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。