7.2.3 行為性模式
行為性模式 影響 系統(tǒng)的 狀態(tài)、行為流。
簡化、優(yōu)化 并且 提高應(yīng)用程序的 可維護(hù)性。
1、Chain of Responsibility 模式
在系統(tǒng)中建立一個鏈,在首先接收到它的級別處 被處理,或者定位到可以處理它的對象。
優(yōu)點:
降低了耦合度。
增加面向?qū)ο笾贫ㄘ?zé)任的 靈活性。
類的集合可以作為一個整體。
以下情況中,應(yīng)該使用 Chain of Responsibility 模式:
多個對象可以處理一個請求,而其處理器卻是未知的。
在不指定確切的 請求接受對象的情況下,向幾個對象中的 一個 發(fā)送請求。
動態(tài)地指定能夠處理請求的對象集。
2、Command 模式
在對象中封裝了請求。
優(yōu)點:
將調(diào)用操作的對象 與 知道如何完成該操作的對象 相分離。
更容易添加新指令,因為不用修改已有類。
以下情況中,應(yīng)該使用 Command 模式:
要通過執(zhí)行的動作 來 參數(shù)化對象。
在不同的時間 指定、排序、執(zhí)行 請求。
必須支持 Undo、日志記錄 或 事務(wù)。
3、Interpreter 模式
解釋定義其語法表示的語言,提供了語句解釋器。
優(yōu)點:
容易修改并擴(kuò)展語法。
更容易實現(xiàn)語法。
以下情況中,應(yīng)該使用 Interpreter 模式:
語言的語法比較簡單。
效率并不是最主要的問題。
4、Iterator 模式
為集合中的有序訪問提供了一致的方法,而該集合是獨立于基礎(chǔ)集合。
優(yōu)點:
支持集合的不同遍歷。
簡化了集合的接口。
以下情況中,應(yīng)該使用 Iterator 模式:
不開放集合對象內(nèi)部表示的前提下,訪問集合對象內(nèi)容。
支持集合對象的多重遍歷。
為遍歷集合中的不同結(jié)構(gòu) 提供了統(tǒng)一的接口。
5、Mediator 模式
通過引入一個能夠管理對象間消息分布的對象,簡化了系統(tǒng)中對象間的通信。提高了對象間的松耦合度,還可以獨立地 改變 其間的交互。
優(yōu)點:
去除對象間的影響。
簡化了對象間協(xié)議。
集中化了控制。
由于不再需要直接互傳消息,單個組件變得更加簡單,而且容易處理。
由于不再需要 包含邏輯 來處理組件間的通信,組件變得更加通用。
以下情況中,應(yīng)該使用 Mediator 模式:
對象集合需要以 一個定義規(guī)范但復(fù)雜的方式 進(jìn)行通信。
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |