校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 设计模式 > 策略模式
题目

策略模式的优缺点是什么?

解答

优点

1.策略模式提供了对 “开闭原则” 的完美支持,用户可以在不修改原有系统的基础上选择算法或行为,也可以灵活地增加新的算法或行为
2.算法可以互相切换, 无需知道算法的具体实现
3.使用策略模式可以避免多重条件选择语句。多重条件选择语句是硬编码,不易维护
4.可扩展性更好, 可以灵活地增加新的算法或行为。也可灵活切换算法或者行为

缺点

1.使用策略设计模式会产生很多具体策略类, 客户端每次只能使用一个策略类,不支持使用一个策略类完成部分功能后再使用另一个策略类来完成剩余功能的情况
2.所有的策略类需要对外暴露. 因为客户端只有知道有哪些策略, 才知道应该是用哪个.这就意味着客户端必须理解这些算法的区别,以便适时选择恰当的算法。换言之,策略模式只适用于客户端知道所有的算法或行为的情况

C 0条回复 评论

帖子还没人回复快来抢沙发