OO-2

Composite

角色結構 : 

Model : Structural 

client component composite Leaf

個別類別 Leaf 和組合類別 Composite 都繼承 Component

  • Define:
  • 違反原則:
  • Strategy

    角色結構 : 

    Model : Behavioral

    client context物件 Stategy行為

    一個物件可以有多個行為

    每個行為都有不同的狀態

    根據物件不同的狀態切換不同的行為

  • Define:
  • Link: Sourcemaking
  • Iterator

    角色結構 : 

    Model : Behavioral

    Aggregate集合體 Client Iterator依序掃描元素的介面

  • Define:
  • Visitor

    角色結構 : 

    Model : Behavioral

    Visitor Client 

    Visitor Pattern 把 資料結構 和 處理 兩者分開,另外寫一個表示在資料結構內穿梭來去的主體 訪客 的類別,然後把處理交給這個類別來進行。如此一來,如果想追加新的處理動作時,只要再建立一個新的訪客即可。而在資料結構這邊,也只要能接受來敲門的訪客就能完成動作。

  • Define:
  • Link: Sourcemaking
  • Memento

    角色結構 : 

    Model : Behavioral

    Client 備忘錄 備忘錄管理者

  • Define:
  • Abstract Factory

    角色結構 : 

    Model : Creational

    client abstractFactory concreteFactory abstractProduct concreteProduct

  • Define:
  • 違反原則:
  • Builder

    角色結構 : 

    Model : Creational

    client builder director

    把process 跟 step 分開所以他們就可以有彈性的組合在一起??

    封裝一個產品的建構過程,並允許可依照步驟建構

  • Define: