您现在的位置:   首页 >> 优客智库 >> 产品设计

B端教育产品如何降低模块之间的耦合,做出低耦合设计?

发布人:www.yunke.ai 发布时间:2021-01-01 131 次浏览

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

作为一名面向教育机构B端产品经理,往往需要设计的是整个教育行业的方方面面的流程。当然,通常情况下是按照模块的不同进行设计,比如学生相关模块、教师相关模块、考试相关模块等。

这些模块、功能、流程或复杂或简单,简单的流程就不必说了,当设计复杂功能模块时,模块之间很强的逻辑联系,较高的数据依赖性,在流程梳理和整个设计过程中,是令人十分头疼的事儿。

那么怎样在一开始通过梳理和分析,达到简单优雅的设计,这样的问题就摆在我们面前。

一、降低模块之间耦合度必要性

复杂的功能模块除了本身的流程复杂外,最重要的是它是建立在别的较完善的模块流程的基础上,同样模块流程本身的输出又是另外的一个模块完善的前提。

这样交织的模块关系,使整个系统错综复杂,具有较强的耦合度,在做功能扩展的时候,牵一发而动全身。降低模块之间的耦合度是十分重要的一件事儿,其优势如下:

  1. 模块之间的耦合程度越低,相互影响就越小,发生异常后产生连锁反应的概率就越低;
  2. 在修改一个模块时,低耦合的系统可以把修改范围尽量控制在最小的范围内;
  3. 对一个模块进行维护时,其他模块的内部程序的正常运行不会受到较大的影响。

那么,如何做到降低系统模块之间的耦合度?

笔者认为可以从以下入手:

二、降低耦合度的方法

在软件工程中,降低耦合度,又称“解耦”,模块间有依赖关系必然存在耦合,理论上绝对的零耦合是做不到的,但是可以通过一定的方法将耦合度降至**。B端系统在设计时解耦的方法要从逻辑,研发两方面考虑。

作为产品经理将产品线的发展规律,管理差异化,系统平台支撑方面进行逻辑梳理。当然技术方面也要进行模块化微服务,做到客户、合同、付款、服务、服务评价五个维度的数据闭环。

模块间数据传输,模块内部逻辑判断。开发人员应该尽量使用数据耦合,较少使用控制耦合,限制公共耦合的使用范围,同时坚决避免使用内容耦合。

言归正传,产品经理如何在一开始设计的时候降低各应用模块之间的耦合度,这是本文讨论的重点。一开始就做到**解耦不太容易,这是一个从混沌走向清晰的渐进明细过程,我个人认为可以从以下几方面来入手:

本页面均来此互联网页面如有触犯其他或者第三方利益请联系站长删除 137865155@qq.com