您的位置:首页 >行情 >

使用策略模式重构 if/elseif/elseif

2023-05-16 06:18:13    来源:博客园


【资料图】

本文翻译自国外论坛 medium,原文地址:https://medium.com/aia-sg-techblog/refactor-if-elseif-elseif-using-strategy-design-pattern-80c51913a539

策略设计模式是一种允许在运行时选择算法的行为。这种模式

  • 定义了一系列算法
  • 封装每种算法
  • 使算法在该系列内可互换。

下面是策略设计模式的架构,客户端将在其中与上下文进行通信。上下文将包含对策略对象的引用,这反映了另一个设计原则 “针对接口而非实现编程”

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

这种设计的问题在于,每当我们需要添加或修改任何传输方式时,它总是会影响业务逻辑的实现。

让我们使用策略设计模式重构紧密耦合的代码。

客户端代码如下所示

优点:

  1. 添加新策略不会干扰之前的任何代码。
  2. 移除/重构之前的任何策略都是灵活的。
  3. 易于单一测试。

关注公众号【waynblog】每周分享技术干货、开源项目、实战经验、高效开发工具等,您的关注将是我的更新动力!

关键词:

相关阅读

精彩放送

我的世界1.16.5等价交换怎么定价格_我的世界1 7 10等价交换mod怎么设置价格啊_环球实时

央行:疫情“伤痕效应”尚未消退,居民收入预期还在恢复

世界焦点!云南省大理白族自治州发布暴雨蓝色预警

交强险是哪个保险公司的?哪些车险是必备的?

世界热议:全球第一,中国首超日本成为全球最大汽车出口国

实时焦点:国家外汇局:4月外商来华直接投资继续保持净流入,外资连续两个月净买入境内证券

全球消息!奥特曼格斗进化3赛文打金古桥怎么打_奥特曼格斗进化3赛文怎么打金古桥

麟游县气象台发布大风蓝色预警【Ⅳ级/一般】【2023-05-15】

交强险是哪个保险公司的?哪些车险是必备的?

世界热议:全球第一,中国首超日本成为全球最大汽车出口国

实时焦点:国家外汇局:4月外商来华直接投资继续保持净流入,外资连续两个月净买入境内证券

全球消息!奥特曼格斗进化3赛文打金古桥怎么打_奥特曼格斗进化3赛文怎么打金古桥

麟游县气象台发布大风蓝色预警【Ⅳ级/一般】【2023-05-15】

世界观天下!爱新觉罗永琪造型_爱新觉罗永琪

西北现代学院校园风光位置艺术分数线 动态

同大股份(300321):股价成功突破年线压力位-后市看多(涨)(05-15)_报资讯

归创通桥-B(02190.HK)午后涨超7%,截至发稿,涨7.12%,报13.24港元,成交额362.69万港元 天天报道

全球新动态:市运会结束首个比赛项目 130人参加帆船帆板竞技创新高