设计模式
冻融
这个作者很懒,什么都没留下…
展开
-
工厂模式(Factory Pattern)
工厂模式(Factory Pattern)简单工厂模式:UML类图:代码实现:class Pizza{ void prepare(); void bake(); void cut(); void box(); std::string m_Name;}class CheesePizza : public Pizza{}...原创 2020-01-30 11:45:33 · 140 阅读 · 0 评论 -
设计原则
设计原则多用组合,少用继承封装变化针对接口编程,不针对实现编程为了交互对象之间的松耦合设计努力对扩展开放,对修改关闭依赖倒置原则...原创 2020-01-30 11:43:38 · 194 阅读 · 0 评论 -
装饰模式(Decorate Pattern)
装饰模式(Decorate Pattern)描述:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的代替方案注意:装饰者和被装饰者必须是一样的类型缺点:利用装饰着模式,常常造成设计中有大量的小类,可能会造成使用此API程序员的困扰代码举例:class Beverage{public: virtual std::string getDescriptio...原创 2020-01-30 11:41:44 · 221 阅读 · 0 评论 -
观察者模式(Observer Pattern)
观察者模式(Observer Pattern)出版者 + 订阅者 = 观察者模式在该模式中,将出版者改名为“主题”,将订阅者改名为“观察者”描述:定义了对象之间一对多的依赖关系,这样一来,当一个对象改变状态时,其他的所有依赖者都会收到通知,并自动更新代码举例:class Subject{public: Subject() { m_bState = false; ...原创 2020-01-30 11:37:21 · 120 阅读 · 0 评论 -
策略模式(Strategy Pattern)
策略模式(Strategy Pattern)描述:定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的用户UML 类图:代码举例:class FlyBehavior{ virtual void fly();}class FBA : public FlyBehavior{ virtual void fly() { st...原创 2020-01-30 11:33:24 · 144 阅读 · 0 评论