假设现在有三个类,客户,个人客户,团体客户。
现在需要对个人客户何团体客户拓展业务,诸如“积分”、“打折”、“返点”等,新的子类就需要继承这种方法,有些子类继承一个方法,有些有两个,有些是全部。
由此可见,通过继承的方法来拓展也会,会使子类的数量激增,且代码有很多重复,为了减少类的数目,并提高代码的重用性,这时就可以采用装饰器设计模式。
因为装饰器类直接继承了客户类,所以他拥有客户类的所有方法,并且内部包装了一个客户类实体,传递一个客户类来进行构造。
假设现在有三个类,客户,个人客户,团体客户。
现在需要对个人客户何团体客户拓展业务,诸如“积分”、“打折”、“返点”等,新的子类就需要继承这种方法,有些子类继承一个方法,有些有两个,有些是全部。
由此可见,通过继承的方法来拓展也会,会使子类的数量激增,且代码有很多重复,为了减少类的数目,并提高代码的重用性,这时就可以采用装饰器设计模式。
因为装饰器类直接继承了客户类,所以他拥有客户类的所有方法,并且内部包装了一个客户类实体,传递一个客户类来进行构造。