摘要:
想象一下有如下的场景: 有两种主咖啡, 可以搭配任意的饮料,我们的目标是允许类容易扩展,在不修改现有代码的情况下,可以搭配新的行为。这里可以用装饰者模式来实现。1. uml 图 装饰者模式动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 这里吹一下装饰者模式的好处:每个组件都可以单独使用,或者被装饰者包装起来使用装饰者可以扩展组件的状态装饰可以加上新的方法可以为组件添加新的方法而用修改装饰者,反之亦可2. 代码示例 首先构造基类1 class Beverage 2 { 3 public: 4 virtual int cost() = 0; 5 }; 然后 定义组. 阅读全文