通过消除重复逻辑,实现解耦
来源:互联网 发布:淘宝假冒品牌怎么处理 编辑:程序博客网 时间: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的数据丢失!
感谢给予我灵感的人!
当业务 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的数据丢失!
感谢给予我灵感的人!
0 0
- 通过消除重复逻辑,实现解耦
- 消除重复
- 消除通过重写Object的equals方法重复的对象
- 通过继承消除重复代码的简单示例
- 消除重复的设计
- perl 消除重复
- 消除重复行
- 消除重复行distinct
- js消除重复
- 消除重复代码
- 消除重复数字
- 消除重复单词
- 消除重复元素
- 消除重复元素
- 消除序列中的重复
- 消除重复数字
- 如何消除重复代码
- [Golang] 从零开始写Socket Server(5):Server的解耦—通过Router+Controller实现逻辑分发
- 认知 方法 思维《暗时间》读书笔记
- mysql命令记录
- 联想的线索
- 分析、思考、重构
- 从重复逻辑中抽取新的数据组件
- 通过消除重复逻辑,实现解耦
- 软件开发中的版本控制
- Ext4使用总结(一)解除小数位运算溢出
- Ext4使用总结(二)简单的hbox布局
- web中加载mscomm32.ocx控件
- Ext4使用总结(三) 使用Model加载Form
- Unity3D游戏开发之游戏读/存档功能在Unity3D中的实现
- Ext4使用总结(四)Ext4跨命名空间 引用
- 在视图类中处理命令消息,才开始菜单按钮是灰色,点一下视图,就不是灰色的原因