2008年1月9日 星期三

[note] 常用的 design patterns

整理一下常見的 Design Pattern (從 Code Complete 2/e 上抄下來的)

Abstract Factory:以同一介面來建立一整族相關或相依的物件。

Adapter:轉換 class 的介面。

Bridge:將介面與實作分開。

Composite:建立與自已俱有相同介面的物件,可遞迴呼叫其內含的子元件的介面,而外界只要對上層的物件操件。

Decorator:對物件動態地附加責任,而不必為每一種可能的責任配置建立子類別。

Facade:對沒有提供一致介面的 code,提供一致的介面。

Factory Method:提供一介面用來建立物件,各物件的建立由抽象類別去實作。

Iterator:依序對集合中的物件提供存取權。

Observer:讓某物件監視著其 data member,在資料有變動時通知相關物件,達成資料同步。

Singleton:讓某一物件在全域的環境裡可以安全地被存取。

Strategy:定義一組演算法,讓他們可以動態地抽換。

Template Method:定義演算法的結構,由子類別實作演算法內容。

沒有留言: