【建模】設計模式簡要分析

1、 中介者模式:每個A派生的子類對象的改變擁有中介者B
2、 裝飾模式  B擁有被裝飾對象A,B.operation()時,一定會調用到A.operation(),會先調用被裝飾對象A的方法,讓它先運行,然後自己再運行
3、 觀察者模式 B擁有一系列觀察者,Observer A觀察B時,B的數據發生變化時,B會遍歷List<observer>  *pB
4、 適配器模式,就是在本類A中,去使用另外一個庫類B,這時A擁有B,A可以用B的接口,完成自己的封裝
5、 代理模式,只是在Proxy相對於於要代理類的對象,他們具有相同的接口,防止一開始就使用一個非常龐大的類,所以需要代理,等待時機使用
6、 Facade外觀模式,相當於一個編譯器,只需要提供一個接口就可以編譯文件,但其內部卻被屏蔽
7、 狀態模式
8、 策略模式
9、 command命令模式,就是 使用command中一個Recevier對象構造一個command,設置它的Recevier,即可交給Recevier處理
10、 備忘錄模式
11、 訪問者模式
A要訪問B,把A的指針傳給B,調用B的方法,再回調到A的方法此時傳this_B的指針,這樣在A中就訪問到了B
12、 職責鏈模式
13、 外觀模式(FCADE)
     A持有多個類的對象,這時A可以訪問多個類了

二、優點類比

        Factory模式中,相當於如下代碼:

A* Create()
{
      return new A;
}

       在各個需要A的對象中,只需要調用Create(),這個函數式公共的,一旦需求改變,只需要改動Create()函數裏的對象。同樣的道理,全局變量的獲取,也是用函數返回的。

參考:0、面向對象設計原則分析

1、23種設計模式UML圖

2、在這裏23中經典設計模式UML類圖彙總

3、設計模式的UML總結

4、23種設計模式uml表示

5、C++設計模式的全實現

6、設計模式—中南大學軟件學院設計模式課件

7、劉偉技術博客

8、如何將多種設計模式結合使用(有源代碼)

9、《設計模式》課程重點與難點剖析(劉偉)

10、GoF_23種設計模式解析附C++實現源碼
11、GoF 23中設計模式——結構型

12、【最新】GOF23種設計模式詳解-TONY

13、GoF 23種設計模式解析附C++實現源代碼(2nd Edition)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章