策略模式
在日常中,我们常随着时间的不同对同一件事的处理会发生不同。就好像一件物品,在购物平台上的销售策略会发生变化,时而打折,时而满xx元返xx元。这些都是不同的策略,然后策略是无法穷尽的,他们都有其共性,为当前处理的策略,我们在设计程序设计方案时将其抽象出来,为不同策略留接口,当我们需要某种策略的时候可以自行添加。这也能满足我们先前所说的原则 – 开闭原则以及依赖倒置原则。
修饰模式
当我们在进行一些操作的时候,有时候需要多种搭配,来一起混合进行,比如穿衣打扮。在这个时候,我们需要给操作留足够的自由度,而修饰模式正是完成这些事的。其具体实现依赖于类的继承,派生类在基类的基础上增加来新的功能。而这的实现顺序更像是一种基于双向队列的方式,在具体实现的时候要是对于顺序有要求还是应该注意。
代理模式
对于代理模式而言,应用场景更多在于没法直接操作的场景。比如 A 委托侦探帮自己调查 B 之类的事。
但是书中在将代理模式的时候,有个问题,就是一旦修改任务,那么代理也要修改任务。