Strategy模式简述

Strategy模式的主要思想(意图):
定义一系列的算法, 把它们一个个封装起来, 并且使他们可以相互替换. Strategy模式使算法可独立于使用它的客户而变化.

案例 : 某国际电商在对不同地区的缴税计算. 在不同地区缴税功能的实现时, 对不同地区缴税的算法是相同的, 而不同地区的税率是不同的. 尝试 “考虑设计中什么应该是可变的 什么是不变的” , “对变化的概念进行封装” 并且最重要的是我们应采用 “优先使用对象聚集, 而不是类继承”.

Strategy模式的适用条件:

  • 对象都具有职责
  • 这些职责不同的具体实现是通过多态的使用完成的.
  • 概念上相同的算法具有多个不同的实现, 需要进行管理.

Strategy模式将对算法的选择和算法的实现相分离. 允许根据上下文进行选择.
对于目前的变化和未来可能出现的任何情况, 这种方法都行之有效. 这种 “将算法封装在一个抽象类中, 而且在某一时刻可以互换的使用其中之一” 的方法, 本质上就是Strategy模式.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值