美文网首页0基础自学linux
0基础自学linux运维-4.3-什么叫模块及“高内聚低耦合”

0基础自学linux运维-4.3-什么叫模块及“高内聚低耦合”

作者: hualinux | 来源:发表于2019-07-09 12:22 被阅读1次

    前言

    开发常用术语之一,动不动就说“你把你的模块函数给我调用一下”,那啥叫“模块”呀?

    又经常听别人说模块设计最好是“高内聚低耦合”,又懵!!

    哎,开发之路漫长呀~~~

    什么叫模块

    在技术里面,模块其实是对某一种类型需求的抽象。举个例子来说,一个博客系统,博客的帖子是一个模块,评论是一个模块,用户是一个模块,帖子和评论又可以进一步抽象成内容模块。

    简单的理解就是,把一类功能集中在一起,我们给它起一个专业术语叫“模块”。比如上面的博客系统是一个大模块,那么我再细分又成一个个模块,有帖子、评论、用户等。那是不是实现一个类的功能 ,只不过是一个大类和一个小类。

    就像一个积木弄一个车,如果宏观看它就是一个积木车,细看就是一块一块小积木组成。

    为什么要弄成模块,方便呀,维护方便,查找也方便,就图书馆分类那样,我把同一类的分一起是不是找出来容易。

    像台式电脑组装一样,一个大零件是不是可以看成一个模块,哪个坏了换哪个就行,其它不受影响。

    模块分类:

    模块的分类看你是从架构层面看还是从业务层面看。

    比如说从架构层面看,一个普通的博客网站可以看成三层:

    UI层(简单说就是前端看得见的东西)

    业务逻辑层(简单来说就是实现一些功能的代码)

    数据访问层(就是对数据库进行操作的代码)

    其中UI层包含帖子列表模块和博客文章阅读模块;业务逻辑层则是帖子业务模块、用户业务模块。

    如果从业务层面看,包含博客阅读模块和后台模块,更偏向功能的分类。

    什么是高内聚低耦合

    高内聚低耦合是架构里面的概念。因为架构设计,需要把大的系统拆分成小的模块,拆分后,还要通过约定的协议通信。典型的有前后端分离然后通过REST API通信,还有像类库之间直接通过公开的方法调用。

    低耦合意思是项目没有什么依赖,改动互相不受影响。比如说前端和后端之间通过API通信,只要API不变,无论你后端用什么语言,跟前端都没关系。

    高内聚指的是一个模块都是关系很紧密的代码,比如用户模块,所有用户操作的功能都在用户模块里面,关系紧密,也不需要依赖于其他模块。

    什么叫REST API我将在后面会讲

    举个例子也是PC电脑组装,你一块一块零件,怎么把零件连在一起,还得加块主板不就OK了吗。主板就像公开的方法,你需要的时间,拿到权限就可以使用。

    相关文章

      网友评论

        本文标题:0基础自学linux运维-4.3-什么叫模块及“高内聚低耦合”

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