本文翻译自国外论坛 medium,原文地址:https://medium.com/aia-sg-techblog/refactor-if-elseif-elseif-using-strategy-design-pattern-80c51913a539
策略设计模式是一种允许在运行时选择算法的行为。这种模式
-
定义了一系列算法 -
封装每种算法 -
使算法在该系列内可互换。
下面是策略设计模式的架构,客户端将在其中与上下文进行通信。上下文将包含对策略对象的引用,这反映了另一个设计原则 “针对接口而非实现编程”。

让我们检查一下如何使用以下场景重构旧式 if else 语句。

这种设计的问题在于,每当我们需要添加或修改任何传输方式时,它总是会影响业务逻辑的实现。
让我们使用策略设计模式重构紧密耦合的代码。


客户端代码如下所示

优点:
-
添加新策略不会干扰之前的任何代码。 -
移除/重构之前的任何策略都是灵活的。 -
易于单一测试。
·END·
关注公众号【waynblog】点击右下角“赞”和“在看”按钮第一时间获取博主精彩技术分享
往期原创热门文章推荐:
原文始发于微信公众号(waynblog):使用策略模式重构if/elseif/elseif
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/157933.html