Decorator Pattern
修飾模式
使用時機:
希望可以在執行期間把一些功能選擇性地加入物件裡
要點:
1. 定義一個 interface,包含一個用來操作功能的方法(本例取名為 component)
2. 實作上述 interface,撰寫具體物件類別(將來把功能加在它身上,本例為 ConcreteComp)與 Decorator 類別,在 Decorator 類別有一個型別為 component 的變數,並有一個方法來設定它(本例為setComp方法)
3. 可選擇性加入的功能都繼承 Decorator 類別而建立
4. 用戶端,new 一個 ConcreteComp 及欲加入的的功能實體,第一個功能實體 setComp 將ConcreteComp 指派給自己,第二個功能實體 setComp 將 第一個功能實體 指派給自己,以此類推(所以這些功能具有順序性,為物件鏈)
維基百科關於修飾模式的說明與範例
維基百科關於修飾模式的說明與範例(英文)
沒有留言:
張貼留言