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

来源:互联网 发布:淘宝假冒品牌怎么处理 编辑:程序博客网 时间:2024/06/13 11:59
最近,碰到一个问题,在不同的模块间产生了强的依赖,导致模块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
  • 查看图片附件
0 0
原创粉丝点击