需求如何解耦(一)

一、解耦的定义

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

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

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

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

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

三、解耦的指导思想

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

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

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

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

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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。