通过消除重复逻辑,实现解耦

最近,碰到一个问题,在不同的模块间产生了强的依赖,导致模块A的数据执行完毕之后,在模块B,C无法找到模块A的数据,而模块B和C属于同一类型的业务数据,如下图所示:

[img]http://dl.iteye.com/upload/attachment/0073/4336/fe65b3be-59df-3901-b44f-0ca65a577ca2.png[/img]

当业务 A 调用 UNION_DATA_FLOW时,同时也会调用逻辑B和逻辑C,这时逻辑B和逻辑C对于业务A就是冗余逻辑
当业务B或C调用UNION_DATA_FLOW时,同时也会调用逻辑A,这时逻辑A相对于业务B和C就是冗余逻辑
这时,业务A和业务B、C之间就产生强依赖,并且容易导致业务A与业务B、C之间的数据丢失
可以看到union_data_flow所包含的逻辑A、B、C,分别有它们特有的实现目的,它们分别对业务A、B、C提供实现,根据逻辑的不同的[size=large][color=red][b]实现目的[/b][/color][/size],消除相对的重复逻辑,做到解耦! 最终解除业务A与业务B、C之间的强依赖。如下图所示:


[img]http://dl.iteye.com/upload/attachment/0073/4342/d0c15882-435d-355d-9f53-6c851850da58.png[/img]

unit_data_flow被拆分成unit_data_flow(A)和unit_data_flow(B、C)两部分
对与业务A和业务B、C,就不会有存在的冗余逻辑,而且产生的相对的重复逻辑,也将被消除,做到解耦! 避免了业务A的数据丢失!
感谢给予我灵感的人!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值