首页 > 编程知识 正文

7种耦合的例子,高耦合高内聚

时间:2023-05-04 10:39:01 阅读:135796 作者:1810

低耦合:

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

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

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

-耦合问题:

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

-低耦合怎么办:

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

合理的职责划分(让系统内的对象各司其职,不仅能提高凝聚要求,而且能有效降低耦合

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

高内聚:

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

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

-为什么需要高内聚性:可读性、可重用性、可维护性、易更改性。

简单的理解高内聚低耦合:偶联与聚集的评价标准是强度,偶联越弱越好,聚集越强越好

-绑定是指模块与模块之间的关系。 最弱耦合是指通过一个主模式的加速来调整n哥模块的行为。

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

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

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

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