策略模式

来源:互联网 发布:判断微信浏览器 js 编辑:程序博客网 时间:2024/06/08 06:53

如果客户端需要切换不同的算法,为了算法的自由切换可以使用策略模式。

 

假如有好几种算法都是处理同一问题的,那么想要可以自由切换算法的一个方式就是将他们都放在一个类中,而调用算法时,方法可以通过参数或别的途径直接调用某一算法。

 

但是该方式在需要添加算法时,至少需要修改执行执行方法中的swtich,添加常量表示该算法,需要添加一个使用新算法的方法

 

策略模式则取消了该限制,使用策略模式时首先添加一个接口,然后为接口实现不同的策略类,而后提供一个context类,由该类来选择使用哪一策略,也可以使用户自行选择,若想彻底解耦,则使context依靠配置文件选择调用策略。