2011年12月20日 星期二

Java Design Pattern 簡易版

1. Composite Pattern

    以樹狀的架構為例, 每個節點的物件都計成相同interface, 上層的可以包含下層的物件, 只要執行上層的物件, 被包含的物件也都會自動跑一輪.

2. Default Adapter Pattern

    為了省事, 不想直接implement 某個 interface時, 利用中間加入一個abstract class 去 implement 原本要用的 interface. 以繼承這個 abtract class 的方式, 間接達到 implement 該 interface 的效果.

3. Object Adaptor Pattern

    為了讓原先已開發好的class能依後來新訂定的, 但卻不相容的interface, 能夠依照新訂定 interface 的方式執行, 建立一個新的 Adapter 去implement 新建立的interface, 再利用use 的方式使用原本先開發好的class. 所定義的adapter既能符合新的interface, 又能使用原先已開發class的功能.

4.  Decorator Pattern

就像是俄羅斯娃娃, 一層一層的把物件包起來, java io 就是一個實例. 與 Composite pattern 相異之處在於 Composite pattern 是一個比較有結構性的樹狀結構.

5. Command Pattern

將每一個動作, 都設計成一個實做 interface (Ex: Action interface) 的 class, 每個class都會有對應的command 字串, 執行時藉由指定command字串便能執行, 該command字串所對應的動作.

6. State Pattern

每個狀態各自成為一個物件,負責自己該狀態的服務,並提供切換狀態的方法。

7. Mediator Pattern

所有共事的物件彼此間互動狀態若較複雜時, 讓這些物件繼承同一個 abstract class, 而這個被大家繼承的 abstract class 具有 Mediator的reference. 每當任一個共事的物件狀態發生改變, 便告知 Mediator, 由 Mediator 來控制其他共事的物件, 執行對應的動作.

沒有留言:

張貼留言