shawsun 2020-02-14
以解决商场收银员业务为背景。
策略模式:它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式可以让算法的变化不会影响带到适应算法的客户。
在什么时候使用策略模式呢?
策略模式是用来封装算法的,在实践中我们发现可以用它来封装几乎任何类型的规则。只要在不同的时间使用不同的规则,就可以使用策略模式来封装这种变化的可能性。在基本的策略模式中,选择具体的算法实现是由客户端来选择并转给上下文对象来处理的,但是这并没有减少客户端需要判断的压力。简单工厂模式与策略模式的结合可以将选择的任务交给上下文对象。
Tips:
面向对象编程并不是类越多越好,分类的目的是分装,分类的基础是抽象,分类的依据是具有相同的属性和操作。
封装变化点是面向对象一种重要的思想。