设计模式

Posted on Sun 21 October 2018 in programming

Head first设计模式

策略模式

策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户

  • 找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起
  • 针对接口编程,而不是针对实现编程
  • 多用组合,少用继承

观察者模式

观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,他的所有依赖者都会收到通知并自动更新

  • 为了交互对象之间的松耦合而努力

装饰者模式

装饰者模式动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案

  • 类应该对扩展开放,对修改关闭

工厂方法模式

工厂方法模式通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的.工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个.工厂方法让类吧实例化推迟到子类

Reference

UML