编辑导语:B端教育产品的设计往往需要经过很多流程,涉及教育行业的方方面面。当我们设计一个较为复杂的功能模块时,应该如何降低模块之间的耦合,从而做出低耦合的设计呢?作者结合经验进行了梳理和分析,总结出了如何才能达到简单优雅的设计的方法论。

作为一名面向教育机构B端产品经理,往往需要设计的是整个教育行业的方方面面的流程。当然,通常情况下是按照模块的不同进行设计,比如学生相关模块、教师相关模块、考试相关模块等。
这些模块、功能、流程或复杂或简单,简单的流程就不必说了,当设计复杂功能模块时,模块之间很强的逻辑联系,较高的数据依赖性,在流程梳理和整个设计过程中,是令人十分头疼的事儿。
那么怎样在一开始通过梳理和分析,达到简单优雅的设计,这样的问题就摆在我们面前。
一、降低模块之间耦合度必要性
复杂的功能模块除了本身的流程复杂外,最重要的是它是建立在别的较完善的模块流程的基础上,同样模块流程本身的输出又是另外的一个模块完善的前提。
这样交织的模块关系,使整个系统错综复杂,具有较强的耦合度,在做功能扩展的时候,牵一发而动全身。降低模块之间的耦合度是十分重要的一件事儿,其优势如下:
- 模块之间的耦合程度越低,相互影响就越小,发生异常后产生连锁反应的概率就越低;
- 在修改一个模块时,低耦合的系统可以把修改范围尽量控制在最小的范围内;
- 对一个模块进行维护时,其他模块的内部程序的正常运行不会受到较大的影响。
那么,如何做到降低系统模块之间的耦合度?
笔者认为可以从以下入手:
二、降低耦合度的方法
在软件工程中,降低耦合度,又称“解耦”,模块间有依赖关系必然存在耦合,理论上绝对的零耦合是做不到的,但是可以通过一定的方法将耦合度降至**。B端系统在设计时解耦的方法要从逻辑,研发两方面考虑。
作为产品经理将产品线的发展规律,管理差异化,系统平台支撑方面进行逻辑梳理。当然技术方面也要进行模块化微服务,做到客户、合同、付款、服务、服务评价五个维度的数据闭环。
模块间数据传输,模块内部逻辑判断。开发人员应该尽量使用数据耦合,较少使用控制耦合,限制公共耦合的使用范围,同时坚决避免使用内容耦合。
言归正传,产品经理如何在一开始设计的时候降低各应用模块之间的耦合度,这是本文讨论的重点。一开始就做到**解耦不太容易,这是一个从混沌走向清晰的渐进明细过程,我个人认为可以从以下几方面来入手:
闽ICP备13000641号-4