摘要: 装饰者模式定义:装饰者模式动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案著名的咖啡屋示例,咖啡屋订单系统要求能够计算出每种咖啡的价格(个人感觉3种设计的主要差别在于抽象方式不同):总共有3种饮品(HouseBlend,Decaf,Espresso),2种配料(Mocha,Whip)设计一:(咖啡 = 饮品,咖啡+配料 = 饮品,在抽象的过程中并没有考虑咖啡和配料之间的关系)类太多,太复杂,如果增加一种饮品,增加一种配料,或者某一种饮品、配料的价格发生改变,要找到所有牵扯到的部分一一修改设计二:(配料抽象为饮品的属性)着实简洁了不少:public abstract 阅读全文
posted @ 2013-05-28 17:29 心意合一 阅读(261) 评论(0) 推荐(0) 编辑