设计模式之Objectifier
意图
使对象从其它对象中独立出来,在不影响其它对象得情况下,可以很容易的修改此对象的行为和属性。
解决步骤
1、 创建一个抽象类为特定的可变的行为和属性定义一个通用接口(抽象方法)。
2、 创建从抽象类继承下来的具体的类来实现特定的行为和属性。
3、 在客户端程序定义一个到抽象对象的引用,在程序在运行时把具体的类(ConcreteObjectA,或ConcreteObjectB)赋给此引用。
4、 把client对特定的行为和属性的调用通过client对象的引用(AbstractObject)委托给ConcreteObject对象。
结论
l 很好的封装对象的行为
l 高度的可配制和个性化设计
l 因为有间接对象引用增加开销
相关模式
Strategy 和 State