摘要:
装饰者模式: 能够动态地往一个类中添加新的行为。相比继承是在编译时添加行为,装饰模式是在运行时添加行为。星巴克咖啡是讲述装饰者模式的一个很好的例子。 假设现在有两种咖啡:HouseBlend、DarkRoast,同时有两种调料:Milk、Mocha。那么此时我们可以给顾客提供以下咖啡:House... 阅读全文
摘要:
观察者模式: 定义了subject和observer之间的一对多依赖,当subject状态改变时,所有的observer都会收到通知。结构图:C++实现:class Observer;class Subject {public: virtual void attach(Observer *o... 阅读全文
摘要:
策略模式: 定义了一个算法族,分别把每个算法封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。结构图:C++实现:class calculateStrategy {public: virtual int calculate(int value1, int value2... 阅读全文