首页 > 资讯 > 正文
模块拆分原则
来源:网络 阅读量:


在电商系统中,我们会划分出来如“商品”、“活动”、‘订单“、”统计“,“商家管理”、“消息推送”共6个模块。那么在划分模块的时候我们要关注哪些原则呢?
 
1、低耦合
 
1)什么叫解耦?
 
藕断丝连,这个词语非常形象,业务体系就像一个藕,业务内部的模块之间的相互关系就像藕丝一样错综复杂,又互相依赖、联系紧密(耦合),解耦就是把藕折断,分成独立的两部分。
 
本质上它是把场景不同、业务属性不同的模块进行拆分,归为不同的两类,但是因为两者都为业务流程服务,这其中难免会有相互协同的地方,于是就会有丝连的情况,这种丝连体现在流程中。
 
2)解耦的作用?
 
解耦能够让场景更聚焦,让功能模块更聚焦垂直业务。比如积分模块,凡是跟积分相关的一切业务需求,如无特殊情况,都可以被归集到积分模块中。对于需要用到积分的其他业务,则可以通过开放一些标准接口供其他业务调用。
 
最忌讳的是把另一个业务(随便举个例子比如活动模块:抽奖活动,抽中就送积分)和积分模块聚合在一起,这会导致,任何一个模块要做修改和迭代时,都会最大程度的影响另一个模块,导致无论产品还是技术的迭代成本都异常之高。
 
2、关注角色场景
 
对于不同职能/角色不同的使用者,他们的业务场景,工作内容必然会有区别,我们不能把他们各自使用的功能权限放在一个模块内,这会带来很多问题:
 
1、A和B的模块发展方向完全不同,导致模块的发展南辕北辙;
 
2、A和B的模块关联度很低,产品功能上两者聚合在一起显得毫无意义;
 
3、用户不希望A的模块可以被B看到和使用,两者的权限不同,但是由于同属一个模块而导致权限非常难划清边界。
 
所以对于不同职能/角色的使用者,尽量将他们各自所要用到的产品模块拆分开来,保持各自的独立性,是模块划分的一个重要依据
 
3、关注数据流
 
业务流程可能会以一个人、或一个主体为中心进行流转。
 
而数据流是隐藏在表象之下的另一个流程,他是以数据为中心进行流转的。
 
一般来说,C端产品的数据流,基本只需要考虑前后台的数据流转情况即可。但是B端就会复杂一些,B端saas产品数据往往贯穿C端功能,还会出现跨平台、跨模块的数据流传。
 
数据流的作用,能帮助你更清晰的划分模块。


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.link66.cn/news/3114.html