設計模式2

2021-08-28 19:22:27 字數 736 閱讀 7931

18.命令模式,將請求封裝成物件,從而將不同的請求把客戶端引數化,提供命令的撤銷和恢復

優點:類間解耦;可擴充套件性

場景:有命令的場景

應用方法:invoker是呼叫者(司令員),receiver是被呼叫者(士兵),mycommand是命令,實現了command介面,持有接收物件

19.備忘錄模式,在乙個物件外儲存該物件的某個狀態

優點:場景:需要備份恢復的場景;資料庫連線的事務管理

應用方法:memento類是備忘錄類,storage類是儲存備忘錄的類

20.狀態模式,當物件的狀態改變時,同時改變其行為

優點:結構清晰;封裝性好

場景:行為隨狀態改變,許可權控制;條件判斷

應用方法:狀態類,context類可以實現切換

21.訪問者模式,資料結構和作用於結構上的操作解耦合

優點:1,單一職責原則;2,擴充套件性好;3,靈活性高;4,功能集中化

場景:業務要求遍歷多個不同的物件

應用方法:訪問者和具體元素

22.中介者模式,用乙個中介物件封裝一系列的物件互動

優點:松耦合

場景:1,排程中心,網狀結構;2,mvc框架

應用方法:類類之間的關係及排程交給mediator

23.直譯器模式,定**釋器,解釋語言的句子

優點:擴充套件性好

場景:重**生的問題;簡單語法解釋。缺點很多,儘量減少使用

應用方法:抽象直譯器,具體表達和環境角色(定義變數)

設計模式 2

1.設計模式分類 建立型結構型 行為型範圍 類factory method adapter interpreter template method 物件abstract factory builder protype singleton adapter 物件 bridge composite dec...

設計模式(2)

工廠模式 定義了乙個建立物件的介面,但由子類決定要實現例項化的類是哪乙個,工廠方法讓類把例項化推遲到子類。1 所有的工廠都是用來封裝物件的建立。2 工廠方法使用繼承 把物件的建立委託給子類,子類實現工廠方法來建立物件。3 抽象工廠方法使用物件組合 物件的建立被實現在工廠介面所暴露出來的方法中。4 抽...

設計模式(2)

用原型例項指定建立物件的種類,並且通過這些拷貝這些原型來實現建立新的物件。注意 淺複製和深複製。當我們要完成在某一細節層次一致的乙個過程或一系列步驟,但其個別步驟在更詳盡的層次上實現可能不同時,通常考慮用模板方法模式來處理。當不變的行為和可變的行為在方法子類實現中混合在一起的時候,不變的行為就會在子...