`
李宏喜
  • 浏览: 116230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

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



当业务 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提供实现,根据逻辑的不同的实现目的,消除相对的重复逻辑,做到解耦! 最终解除业务A与业务B、C之间的强依赖。如下图所示:




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

  • 大小: 18.4 KB
  • 大小: 23.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics