一 概述
策略模式,一个类的行为或其算法可以在运行时更改。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变,同时策略对象改变context对象的执行算法。
策略模式是一种比较简单的模式,也叫做政策模式。定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。
二 策略模式
策略模式的目的:定义一系列的算法,并把它们一个个的封装起来,并且使它们之间可以互相替换。
策略模式解决的问题:在多种算法相似的情况下,使用if...else所带来的复杂和难以维护。
我们开发的过程中其实经常在使用策略模式,在SpringMVC中,当通过URI来请求后端某个控制器方法时,如果带有参数时,就会使用策略模式,因为处理参数的过程算法过程非常类似,但是由于参数类型的不同处理过程会存在差异,SpringMVC源码中并不是通过一个个的if...else判断来确定参数的类型,然后根据具体的参数类型来判断使用算法来处理不同的请求参数解析。
参考资料:菜鸟教程
设计模式之禅
个人暂时还没有完全理解掌握,后续学习后再进一步分析。