最新消息:

软件模块的耦合是越低越好(高耦合好还是低耦合好)

媒体模版 admin 浏览 评论

软件设计中划分模块的一个准则是高内聚低耦合。

一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的内聚性是否高,耦合度是否低。

目的是使程序模块的可重用性、移植性大大增强。通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。

内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事,它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

从模块粒度来看,高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合);低耦合:减少类内部,一个成员方法调用另一个成员方法。

从类角度来看,高内聚低耦合:减少类内部,对其他类的调用;从功能块来看高内聚低耦合:减少模块之间的交互复杂度(接口数量,参数数据)即横向:类与类之间、模块与模块之间;纵向:层次之间;尽可能,内容内聚,数据耦合。

降低耦合度的方法

1、少使用类的继承,多用接口隐藏实现的细节。 Java面向对象编程引入接口除了支持多态外,隐藏实现细节也是其中一个目的。

2、模块的功能化分尽可能的单一,道理也很简单,功能单一的模块供其它模块调用的机会就少。(其实这是高内聚的一种说法,高内聚低耦合一般同时出现)。

3、遵循一个定义只在一个地方出现。

4、少使用全局变量。

5、类属性和方法的声明少用public,多用private关键字。

6、多用设计模式,比如采用MVC的设计模式就可以降低界面与业务逻辑的耦合度。

7、尽量不用“硬编码”的方式写程序,同时也尽量避免直接用SQL语句操作数据库。

8、最后当然就是避免直接操作或调用其它模块或类(内容耦合);如果模块间必须存在耦合,原则上尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,避免使用内容耦合。

高耦合低内聚:块间联系高,块内联系低。

其中内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。

而耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

扩展资料:

程序开发中的低耦合高内聚

模块之间联系越紧密,其耦合性就越强,模块之间越独立则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。

形象的说,就是要将代码写的和电脑一样,主类就是电脑的主机箱,当程序需要实现什么功能的时候只需要加其他的类引入接口,就像电脑上的usb接口。

一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。

模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。

在程序开发中,尽量做到低耦合高内聚,这样程序的维护成本以及可读性也会大大增强。

参考资料来源:百度百科-高内聚低耦合

什么是高耦合低内聚?

什么是高耦合低内聚?

1、高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

2、高内聚意思就是支持主体正常运行的各个模块相对独立,相互之间没啥关联,各司其职。比如一台电脑主机,由机箱,CPU,主板,内存,显卡,电源各种部件组成,大家各做各的事有自己的职责,互不干涉,一起支撑主机的运行。

3、高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的内聚性是否高,耦合度是否低,目的是使程序模块的可重用性、移植性大大增强。

耦合度的高低有哪些具体情况?

耦合度的高低有哪些具体情况?

模块之间联系越紧密,其耦合性就越强,模块之间越独立则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。

模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。

(1)无直接耦合。无直接耦合指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。因此模块间耦合性越弱,模块独立性越高。(2)数据耦合。

低耦合性是结构良好程序的特性,低耦合性程序的可读性及可维护性会比较好。耦合性可以是低耦合性(或称为松散耦合),也可以是高耦合性(或称为紧密耦合)。

模块间联系越多,其耦合性越强,同时表明其独立性越差。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。附:一般模块之间可能的连接方式有七种,构成耦合性的七种类型。

在软件工程中,对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高,维护成本越高,因此对象的设计应使类和构件之间的耦合最小。解耦,字面意思就是解除耦合关系。

程序设计中耦合性高有什么坏处

程序设计中耦合性高有什么坏处

系统中存在高耦合低内聚的情况,可能导致系统设计缺陷、程序错误和维护困难等问题,并可能对软件质量、可维护性和可测试性带来负面影响。

在软件工程中,对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高,维护成本越高,因此对象的设计应使类和构件之间的耦合最小。解耦,字面意思就是解除耦合关系。

我的理解是:软件设计中的“耦合”指,两个功能函数之间的依赖程度。比如,你设计的一个程序,需要你编写10个功能函数来实现。

在内容耦合的情形,所访问模块的任何变更,或者用不同的编译器对它再编译,都会造成程序出错。好在大多数高级程序设计语言已经设计成不允许出现内容耦合。它一般出现在汇编语言程序中。这种耦合是模块独立性最弱的耦合。

模块间联系越多,其耦合性越强,同时表明其独立性越差(降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。

耦合就是程序中的一部分跟其他部分之间的关系。

高性能耦合器和低性能耦合器的区别

高性能耦合器和低性能耦合器的区别

1、功分器和耦合器都是实现功率分配的器件,两者的区别在于:功分器将功率平均分配到各个输出端口,插入损耗是功分器的重要指标。耦合器是不等功率分配的器件,耦合度和插入损耗是耦合器的重要指标。

2、两者没有区别。耦合器、偶合器一般称之谓液力偶合器或液力联轴器,从广义上讲液力偶合器也是一种联轴器,它以液体油作为工作介质通过泵轮将液体的动能转变为机械能连接电动机与工作机械实现动力的传递。

3、)定向耦合器的性能指标定向耦合器是四端口网络,端口“①”为输入端,端口“②”为直通输出端,端口“③”为耦合输出端,端口“④”为隔离端,并设其散射矩阵为[S]。

4、在彩电,显示器等开关电源维修中如果光耦损坏,一定要用线性光耦代换。常用的4脚线性光耦有PC817A---C。PC111TLP521等常用的六脚线性光耦有:TLP632TLP532PC614PC714PS2031等。

5、一般液力耦合器正常工况的转速比在0.95以上时可获得较高的效率。液力耦合器的特性因工作腔与泵轮、涡轮的形状不同而有差异。它一般靠壳体自然散热,不需要外部冷却的供油系统。

光电耦合器?

光电耦合器?

1、光电耦合器的作用是怎样的光电耦合器是能够很好的隔离输入信号和输出信号,让其不会受到彼此的干扰。光电耦合器在工作的时候,会先后经过光的发射、光的接收、放大信号,从而确保其能够被光探测器接收,实现想要的目的。

2、光电耦合器原理:在光电耦合器输入端加入电信号使发光源发光,光的强度取决于激励电流的大小,光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出端引出,实现了电与光之间的转换。

3、光电耦合器是一种将光信号转换成电信号的器件,主要由光电转换器和隔离放大器两个部分组成。光电转换器:也称为光电二极管或光敏二极管,主要由光敏元件、透镜、光阑和接收电路等组成。

4、光电耦合器的原理光电耦合器(Opto-coupler)是一种电学隔离装置,它通过光传输来将电信号从一个电路隔离到另一个电路。

5、光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。

6、光电耦合器的特点:能够有效抑制接地回路的噪声,消除地干扰,使信号现场与主控制端在电气上完全隔离,避免了主控制系统受到意外损坏。

高内聚低耦合的知识

高内聚低耦合的知识

1、高内聚意思就是支持主体正常运行的各个模块相对独立,相互之间没啥关联,各司其职。比如一台电脑主机,由机箱,CPU,主板,内存,显卡,电源各种部件组成,大家各做各的事有自己的职责,互不干涉,一起支撑主机的运行。

2、高耦合低内聚:块间联系高,块内联系低。其中内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。

3、从这个招生得这种情况就可以理解为:高内聚(把能力内容相关的放在一起)。

4、耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:(1)内容耦合:一个模块直接访问另一模块的内容,则称这两个模块为内容耦合。

5、高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

转载请注明:片头模版 » 软件模块的耦合是越低越好(高耦合好还是低耦合好)

发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)

网友最新评论 ()