策略模式

本文探讨了策略模式在软件设计中的应用,特别是在不同业务场景下如何通过封装算法来降低耦合度,遵循单一职责原则。文章分析了策略模式的优点,如算法独立、易于测试,同时也指出了其缺点,包括类膨胀问题及解决方案。

适用场景

  1. 多个类有不同的表现形式,每种业务可以以不同的实现,实现具体业务,体现设计原则中单一原则。
  2. 需要再不同情况下使用不同的具体业务实现,后期业务可能还会增加。
  3. 对用户隐藏算法逻辑。

优点

  1. 每个算法单独封装,减少了算法和算法调用者的耦合。
  2. 合理使用继承有助于提取出算法中的公共部分。
  3. 简化了单元测试。

缺点

  1. 策略模式只适用于客户端知道所有的算法或行为的情况。
  2. 策略模式造成很多的策略类,每个具体策略类都会产生一个新类。不过可以使用享元模式来减少对象的数量。

类图

 

step1 定义策略接口,抽出业务公共特征,具体成函数

step2 定义业务类型

step3 根据不同业务类型,执行不同实现

step4 客户端调用

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值