溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

設(shè)計模式-行為型模式

發(fā)布時間:2020-07-29 16:56:12 來源:網(wǎng)絡(luò) 閱讀:454 作者:全嗲吉祥 欄目:編程語言

摘自大話設(shè)計模式
行為型模式
觀察者模式:定義一種對象間的一對多的依賴關(guān)系,當(dāng)一個對象狀態(tài)發(fā)生變化,所有依賴他的對象都得到通知并自動更新。
設(shè)計模式-行為型模式

模板方法模式:定義一個操作的算法骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變一個算法結(jié)構(gòu)即可重定義該算法的某些特定步驟。
由一個抽象類組成,這個抽象類定義了需要覆蓋的可能有不同實現(xiàn)的模板方法,每個派生類將為模板類實現(xiàn)新方法。
設(shè)計模式-行為型模式

命令模式:將一個請求封裝成一個對象,從而使你可用不同的請求對客戶進(jìn)行參數(shù)化;可以對請求排隊或記錄請求日志,以及支持可撤銷的操作。
將調(diào)用操作的對象和知道如何實現(xiàn)操作的對象解耦。發(fā)送者只管發(fā)送請求,而命令模式可以在不同時刻指定,排列和執(zhí)行請求;也可以在實施操作前保存狀態(tài),以便支持取消重做的操作;還可以記錄整個操作的日志;
設(shè)計模式-行為型模式

狀態(tài)模式:允許一個對象在其內(nèi)部狀態(tài)改變時改變他的行為,讓對象看起來好像修改了他的類。
把條件分支分解成多個子類,利用多態(tài)提高擴(kuò)展性和可維護(hù)性。
決定狀態(tài)轉(zhuǎn)義的邏輯不在if else 或者swicth里面,而是分布在狀態(tài)子類,由于所有與狀態(tài)相關(guān)的代碼都存在于某個狀態(tài)子類中,所以通過定義新的子類可以很容易定義新的狀態(tài)和實現(xiàn)狀態(tài)的轉(zhuǎn)換。
設(shè)計模式-行為型模式

職責(zé)鏈模式:使多個對象都有機(jī)會處理請求,從而避免請求的發(fā)送者和接受者之間的耦合關(guān)系。將這些對象連成一條鏈,并沿著這鏈傳遞請求,直到一個對象處理他為止。
也是請求者與執(zhí)行者分離,因為有多個對象可以處理這個請求,但是事先不知道哪個對象將要處理,所以把所有對象排成鏈,并沿著這個鏈傳遞請求,直到一個對象處理了請求。
設(shè)計模式-行為型模式

解釋器模式:給定一個語言,定義他的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。
如果一個特定類型的問題的發(fā)生頻率夠高,那就可以考慮將該問題的各個實例表述為一個簡單語言中的句子。(構(gòu)建解釋器,解釋這些句子)
設(shè)計模式-行為型模式

中介者模式:用一個中介對象封裝一系列對象的交互。中介者使得各個對象不需要顯式的相互引用,從而使得耦合松散,而且可以獨立改變他們之間的交互。
將集體行動單獨封裝為中介者,中介者協(xié)調(diào)控制一組對象的交互。對象不需要顯式的相互引用,他們只知道中介者,這樣可減少對象的相互連接。
設(shè)計模式-行為型模式

訪問者模式:表示一個作用于某對象結(jié)構(gòu)中的各元素的操作,他使得你可以在不改變元素的類的前提下定義作用于這些元素的新操作。(世界上有男人女人,訪問者可定義男人女人的喜怒哀樂并可輕松擴(kuò)展新情緒。)
訪問者增加具體的元素是困難的,但增加依賴于復(fù)雜對象結(jié)構(gòu)的構(gòu)件的操作很容易,僅需增加一個訪問者即可為該對象定義一個新操作。
設(shè)計模式-行為型模式

策略模式:定義一系列算法,單獨封裝,并且使他們可以互相替換。本模式使得算法可以獨立于使用他的客戶而變化。
優(yōu)先使用對象組合,而非類繼承。
設(shè)計模式-行為型模式

備忘錄模式:在不破壞封裝性的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài),這樣可以將該對象隨時恢復(fù)到原先保存的狀態(tài)。
可避免暴露一些只應(yīng)該由當(dāng)前對象管理卻又必須存儲在當(dāng)前對象外的信息??砂褟?fù)雜的對象的內(nèi)部信息對其他對象隱藏,從而保持了封裝邊界。
設(shè)計模式-行為型模式

迭代器模式:提供一種方法可順序訪問對象的各個元素,又不暴露該對象的內(nèi)部表示。
將對列表的訪問和遍歷從列表對象中分離了出來并放到一個迭代器對象中,迭代器對象定義了一個訪問列表元素的接口,并可跟蹤當(dāng)前元素,并可知道哪些元素已經(jīng)遍歷過了。
設(shè)計模式-行為型模式

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI