1. 程式人生 > >設計模式分類之結構型模式

設計模式分類之結構型模式

結構型模式包括介面卡模式、裝飾模式、橋接模式、組合模式、享元模式、代理模式、外觀模式。

  1. 介面卡模式
    將一個類的介面轉換成客戶希望的另外一個介面。Adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作
  2. 裝飾模式
    動態地給一個物件新增一些額外的職責,就增加功能來說,裝飾物件比生成子類更加靈活。
  3. 橋接模式
    將抽象部分與它的實現部分分離,使它們都可以獨立地變化。
  4. 組合模式
    將物件組合成樹形結構以表示“部分-整體”的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。
  5. 享元模式
    運用共享技術有效地支援大量細粒度的物件。
  6. 代理模式
    為其他物件提供一種代理以控制對這個物件的訪問。
  7. 外觀模式
    為子系統中的一組介面提供一個一致的介面,此模式定義了一個高層介面,這個介面使得這一子系統更加容易使用。

代理與外觀的主要區別:代理物件代表一個單一物件而外觀物件代表一個子系統;代理的客戶物件無法直接訪問目標物件,由代理提供對單獨的目標物件的訪問控制,而外觀的客戶物件可以直接訪問子系統中的各個物件,但通常由外觀物件提供對子系統各元件功能的簡化的共同層次的呼叫介面。

代理與介面卡的區別:代理是一種原來物件的代表,其他需要與這個物件打交道的操作都是和這個代表交涉。而介面卡則不需要虛構出一個代表者,只需要為應付特定使用目的,將原來的類進行一些組合。