設計模式之Objectifier
意圖
使對象從其它對象中獨立出來,在不影響其它對象得情況下,可以很容易的修改此對象的行為和屬性。
解決步驟
1、 創建一個抽象類為特定的可變的行為和屬性定義一個通用接口(抽象方法)。
2、 創建從抽象類繼承下來的具體的類來實現特定的行為和屬性。
3、 在客戶端程序定義一個到抽象對象的引用,在程序在運行時把具體的類(ConcreteObjectA,或ConcreteObjectB)賦給此引用。
4、 把client對特定的行為和屬性的調用通過client對象的引用(AbstractObject)委托給ConcreteObject對象。
結論
l 很好的封裝對象的行為
l 高度的可配制和個性化設計
l 因為有間接對象引用增加開銷
相關模式
Strategy 和 State