如何防止简短的 if-else/switch 分支判断代码?
1. 简介
策略模式,英文全称是 Strategy Design Pattern。
在 GoF 的《设计模式》一书中,它是这样定义的:
Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.
翻译成中文就是:定义一族算法类,将每个算法别离封装起来,让它们能够相互替换。策略模式能够使算法的变动独立于应用它们的客户端(这里的客户端代指应用算法的代码)。
工厂模式是解耦对象的创立和应用,观察者模式是解耦观察者和被观察者。策略模式跟两者相似,也能起到解耦的作用,不过,它解耦的 是策略的定义、创立、应用 这三局部。