模板方法模式是一种让抽象模板的子类「完成」一系列算法的行为策略。换而言之,它是一种非常适合框架库的骨架

用户只需要实现子类的一种方法,其父类便可去搞定这项工作了

在一个多人合作的项目中,使用同一份代码规范是非常重要的

风格混乱不统一会造成阅读困难、工作交接困难、增加 Review 成本等问题,还可能会造成潜在的 Bug

FIG

状态模式可以基于一个对象的同种事务而封装出不同的行为

它提供一种简洁的方式使得对象在运行时可以改变自身行为,而不必借助单一庞大的条件判断语句

装饰器模式允许我们根据运行时不同的情景动态地为某个对象调用前后添加不同的行为动作

以奇迹暖暖这种换装游戏为例,我们需要实现动态的换套装,或者混搭

策略模式,也称为政策模式(Policy),定义一系列算法,将每一个算法封装起来,并让它们可以相互替换

策略模式让算法独立于使用它的客户而变化,使他们之间能互相快速切换

门面模式,也叫外观模式。为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。

为什么需要外观模式

  1. 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
  2. 维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。
  3. 外观模式可以隐藏来自调用对象的复杂性。