外觀模式:爲子系統中的一組接口提供一個一致的界面,外觀模式定義了一個高層接口,這個接口使得這一系統更加容易使用。設計
適配器模式:將一個類的接口轉換成客戶但願的另一個接口。它使得本來因爲接口不兼容而不能一塊兒工做的那些類一塊兒工做。代理
橋接模式:將抽象部分與它的實現部分分離,使它們能夠獨立地變化。對象
組合模式:將對象組合成樹形結構以表示「部分-總體」的層次結構,組合模式使得用戶對單個對象和組合對象的使用具備一致性。繼承
裝飾者模式:動態地給一個對象添加一些額外的職責。就是增長功能來講,裝飾模式相比生成子類更加靈活。接口
享元模式:運用共享技術有效地支持大量細粒度的對象,實現對細粒度對象的複用。開發
代理模式:爲其餘對象提供一種代理以控制對這個對象的訪問。程序
Ps:技術
面對變化兼容
在解決了對象的建立問題以後,對象的組成,以及對象之間的依賴關係就成了開發人員關注的焦點,由於如何設計對象的結構、繼承和依賴關係會影響到後續程序的維護性、代碼的健壯性、耦合性等。樹形結構
代理與外觀的:代理對象表明一個單一對象,而外觀對象表明一個子系統;代理的客戶對象沒法直接訪問目標對象,由代理提供單獨的目標對象的訪問控制,而外觀的客戶能夠直接訪問子系統中的各個對象,但一般由外觀對象提供對於子系統各元件功能的簡化的共同層次的調用接口。
代理與適配器:代理是一種原來對象的表明,其餘須要與這個對象打交道的操做都是和這個表明交涉。而適配器則不須要虛構出一個表明者,只須要爲應付特定使用目的,將原來的類進行一些組合)