admin管理员组文章数量:1794759
Strategy模式简述
Strategy模式的主要思想(意图): 定义一系列的算法, 把它们一个个封装起来, 并且使他们可以相互替换. Strategy模式使算法可独立于使用它的客户而变化.
案例 : 某国际电商在对不同地区的缴税计算. 在不同地区缴税功能的实现时, 对不同地区缴税的算法是相同的, 而不同地区的税率是不同的. 尝试 “考虑设计中什么应该是可变的 什么是不变的” , “对变化的概念进行封装” 并且最重要的是我们应采用 “优先使用对象聚集, 而不是类继承”.
Strategy模式的适用条件:
- 对象都具有职责
- 这些职责不同的具体实现是通过多态的使用完成的.
- 概念上相同的算法具有多个不同的实现, 需要进行管理.
Strategy模式将对算法的选择和算法的实现相分离. 允许根据上下文进行选择. 对于目前的变化和未来可能出现的任何情况, 这种方法都行之有效. 这种 “将算法封装在一个抽象类中, 而且在某一时刻可以互换的使用其中之一” 的方法, 本质上就是Strategy模式.
版权声明:本文标题:Strategy模式简述 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686592150a85367.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论