首页 > 编程知识 正文

高内聚低耦合的例子,如何做到高内聚低耦合

时间:2023-05-04 23:46:16 阅读:135745 作者:2258

低耦合

耦合是元素与元素之间的联系、感知和依赖性的量度。 这里说的要素是功能、对象、系统、子系统。 模块。

例如,现在有方法a和方法b

我们用a元素调用b元素。 如果b元素有问题或者不存在,a元素就不能正常发挥作用,所以可以说元素a和元素b结合了

耦合问题:

元素b变更或不存在时,都会影响元素a的正常动作,影响系统的维护性和易变更性。 同时,元素a只能在元素b中执行,这也大大降低了元素a的可复用性。 由于联轴器的种种弊端,有必要在软件设计上追求低联轴器

低耦合怎么办:

元素a不能过度依赖元素b

合理的职责划分:将各部门职务交给系统中的目标人群,不仅可以提高凝聚的要求,而且可以有效降低耦合

使用接口而不是继承:很容易理解。 继承是一种耦合,如果子类a继承了父类b,无论是直接继承还是间接继承,如果父类b不存在或发生更改,子类a将被迫修改或重写。 如果父级b的子类有几十几百个,这是灾难性的改变。

高凝聚:

高凝聚是评价软件设计质量的另一个标准。 凝聚更专业的说法是功能凝聚,是系统中元素对职责的相关性和集中度的量度。 如果元素有高度相关责任,且除这些责任外没有其他工作,则该元素具有高聚集性。

例如:

这就是说,如果我是项目经理,我的工作就是监测和协调项目各个阶段的工作。 我的项目进入需求分析阶段后,委托需求分析师完成; 我的项目进入开发阶段后,委托软件开发者完成; 我的项目需要测试的时候,我会委托测试负责人。 如果我参与了开发,我就不是高凝聚的因素。 因为开发不是我的责任。

为什么要求高凝聚:

易读性

可复用性

可维护性和易变更性

简单理解高凝聚低结合:

偶联和聚集的评价标准是强度,偶联越弱越好,聚集越强越好

耦合是指模块与模块的关系,最弱的耦合是在一个主控模式下高速协调n哥模块工作。 例如,以下内容: 还是我举个例子吧。 客户要求在接口中添加字段。 你的项目要修改几个地方吗? 只要修改项目文档,开发框架就是最低强度的耦合。 这些设计成熟的开发团队使用开发工具通过项目模型驱动数据库和各级代码,而不是直接修改这些代码。

凝聚是指模块内部的功能,最强的是功能不可分割,即原子化。

简而言之:

高聚集、低偶联是过程单元合作的问题。 可以这样理解。 对一个企业的管理,理想的是各部门各司其职,有条不紊,互不干涉。 但是需要沟通的时候,各部门可以找到接口人员专门负责部门之间的沟通和对外的沟通。 在软件中,每个模块都是智能清晰的,一个功能尽可能地用一个模块来实现。 同样,希望一个模块只执行一个功能。 这就是所谓的“凝聚”; 模块与模块之间、系统与系统之间的交互是不可避免的,但交互尽量减少各个模块不能独立使用或不能移植,尽可能多的单独提供接口用于对外操作。 这就是所谓的“低耦合”。 但是在实际的设计开发过程中会出现各种各样的问题和情况。 真正实现高凝聚、低耦合很难,很多情况下不一定需要。 很多时候,“最合适”是最好的,但理解思想,在审查时顺势使用、融会贯通、运用才是设计的王道。

————————————————

原文链接: https://blog.csdn.net/fangkang7/article/details/82684819

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。