适用场景
- 多个类有不同的表现形式,每种业务可以以不同的实现,实现具体业务,体现设计原则中单一原则。
- 需要再不同情况下使用不同的具体业务实现,后期业务可能还会增加。
- 对用户隐藏算法逻辑。
优点
- 每个算法单独封装,减少了算法和算法调用者的耦合。
- 合理使用继承有助于提取出算法中的公共部分。
- 简化了单元测试。
缺点
- 策略模式只适用于客户端知道所有的算法或行为的情况。
- 策略模式造成很多的策略类,每个具体策略类都会产生一个新类。不过可以使用享元模式来减少对象的数量。
类图

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

step2 定义业务类型

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

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

被折叠的 条评论
为什么被折叠?



