美文网首页
需求如何解耦(一)

需求如何解耦(一)

作者: 竹芒记 | 来源:发表于2020-09-03 23:02 被阅读0次

一、解耦的定义

解耦就是把系统功能和逻辑拆分。

为什么拆分。一个不解耦的系统就像把若干根线缠绕到一起,你想抽出任何一根都困难;不解耦的系统就像堆的混乱无序的衣柜,你想找到你想要的衣服需要翻箱倒柜还找不到。

拆分后的系统,就像你家分类整理好的衣柜,春天的,夏天的,外套,内衣分类放好,你今天想穿哪件很容易找到。

二、解耦就是对抗变化和混乱

熵增定律讲在一个孤立系统里,如果没有外力做功,其总混乱度(即熵)会不断增大。系统需求每天都在增加,每天都在增加功能,如果我们不做好规划和整理,系统一定会越来越混乱,直到崩溃。所以我们要用解耦来对抗变化和复杂性。

三、解耦的指导思想

把一件复杂的任务拆成若干个相对简单且独立的子任务,理想状态是子任务之间没有相互影响。

就好比生产一部手机,有的企业专门造屏幕,有的企业专门造芯片,有的企业专门造操作系统,本来生产手机这件很复杂的事情被拆分成了若干个子任务,大家都不需要知道造手机的全部环节却最后把手机造出来了。

四、解耦的方法1-识别并区分业务功能和规则

需求分析过程中,要分清楚哪些是业务功能,哪些是业务规则,并有意将他们分开阐述。

举个例子要设计一个需求:线上商城卖苹果8块钱1斤,但是成为会员可以6块钱1斤。我们拆分成:业务功能是卖东西,业务规则是**商品对**人**价。

如果不拆分,我们直接按照需求原样实现出来,那就只能卖苹果,假如明天又要卖梨,那我们做出来的功能就要整体推翻再改;

如果拆分,即便是明天卖梨,那业务功能这个模块逻辑还是卖东西没有变化,只需要变化业务规则模块的逻辑即可。相当于只改变了其中一个子任务的逻辑,另外一个子任务不受影响。

最后,识别并区分业务功能和规则也可以理解成区分稳态(不变)和敏态(经常变动)逻辑。理解方式不同而已。

相关文章

  • 需求如何解耦(一)

    一、解耦的定义 解耦就是把系统功能和逻辑拆分。 为什么拆分。一个不解耦的系统就像把若干根线缠绕到一起,你想抽出任何...

  • 解耦解的早,改需求没烦恼

    摘要 世上本没有解耦,需求改的多了也便有了解耦。 —— 产品经理 本例将通过一个计时控件,聊聊如何解耦~ 本Tim...

  • 如何解耦?

    高内聚,低耦合。控制代码复杂度! 封装与抽象隐藏实现的复杂性隔离实现的易变性给依赖的模块提供稳定且易用的抽象接口 ...

  • 如何解耦代码

    为什么要解耦如果说重构是保证代码质量不至于腐化到无可救药地步的有效手段,那么利用解耦的方法对代码重构,就是保证代码...

  • 责任链模式在spring中的简洁优化

    责任链模式顾名思义是对一个业务需求中的具体实现进行解耦,每个链路处理自己的需求,如本次开发中的需求是一条数据将进行...

  • 如何解耦控制器(iOS)

    前言:如果你维护老项目,项目里面的那些臃肿的控制印象应该很深吧。在原来上千行代码里修改,新加代码那感觉简直了。?,...

  • 中介者

    网状结构变为星状结构,如消息队列解耦

  • 前端请求二进制流文件

    需求:在前(web client)后(Restful Service)端完全解耦的模式框架下,webclient需...

  • 一耦

    内心的某一处, 如用篱笆修筑的墙, 把我分成两半, 一个在墙的里面, 一个在墙的外面。 里面漆黑一片, 外面万丈光...

  • 策略模式,是如何解耦算法的?

    策略模式,是对谁和谁的解耦? 策略模式,怎么用? 策略模式(Strategy Pattern),定义了一系列算法并...

网友评论

      本文标题:需求如何解耦(一)

      本文链接:https://www.haomeiwen.com/subject/kmdasktx.html