日期:2009-06-03  浏览次数:20623 次

设计模式之Objectifier

意图

使对象从其它对象中独立出来,在不影响其它对象得情况下,可以很容易的修改此对象的行为和属性。



解决步骤






1、 创建一个抽象类为特定的可变的行为和属性定义一个通用接口(抽象方法)。

2、 创建从抽象类继承下来的具体的类来实现特定的行为和属性。

3、 在客户端程序定义一个到抽象对象的引用,在程序在运行时把具体的类(ConcreteObjectA,或ConcreteObjectB)赋给此引用。

4、 把client对特定的行为和属性的调用通过client对象的引用(AbstractObject)委托给ConcreteObject对象。

结论



l 很好的封装对象的行为

l 高度的可配制和个性化设计

l 因为有间接对象引用增加开销

相关模式



Strategy 和 State