耦合度以及降低耦合性的方法有哪些(耦合度以及降低耦合性的方法是什么)
导语:耦合度以及降低耦合性的方法
一、耦合度Coupling,dependency,或称耦合力或耦合度。
内聚性是一个和耦合性相对的概念,一般而言低耦合性代表高内聚性,反之亦然。低耦合性是结构良好程序的特性,低耦合性程序的可读性及可维护性会比较好。耦合性可以是低耦合性(或称为松散耦合),也可以是高耦合性(或称为紧密耦合)。
内聚性:高内聚性一般和许多理想的软件特性有关,包括鲁棒性、可靠度、可复用性及易懂性(understandability)等特性,而低内聚性一般也代表不易维护、不易测试、不易复用以及难以理解。
鲁棒性:鲁棒是Robust的音译,也就是健壮和强壮的意思。它也是在异常和危险情况下系统生存的能力。
模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。
降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行
二、紧密耦合的系统在开发阶段有以下的缺点一个模块的修改会产生涟漪效应,其他模块也需随之修改。
由于模块之间的相依性,模块的组合会需要更多的精力及时间。
由于一个模块有许多的相依模块,模块的可复用性低。
三、降低耦合性的方法1、少使用类的继承,多用接口隐藏实现的细节。 java面向对象编程引入接口除了支持多态外, 隐藏实现细节也是其中一个目的。
2、模块的功能化分尽可能的单一,道理也很简单,功能单一的模块供其它模块调用的机会就少。
3、遵循一个定义只在一个地方出现。(对一个功能、类只定义在一个地方)。
修改时永远只修改这一个地方。增加功能时也只在一个地方修改。将变动只缩小到一个地方。一处修改,所有用它的地方都生效。比如:
标准库函数 std::cout 输出函数, 它只定义在一个地方,任何地方都可以用它。 当那天说输出的内容不同了,想改变输出的内容,那么代码中比如有500、上千上万次用了这个函数,如果你去修改每个调用这个函数的地方,那么将会被累死,并且极可能(几乎是一定)出错。可现在你只用修改 std::cout 本身就可以了)
4、少使用全局变量。
( 1.由于全局变量,程序运行期间,始终占有那块存储区,所以空间利用率比较低,大量的全局变量,很快就会把内存用光,所以要少用全局变量;2.全局变量由于每个函数都可以使用,所以任何一个函数的修改,如果修改了全局变量,都有可能影响到其他函数,所以不利于调试)
5、类属性和方法的声明少用public,多用private关键字
(公共的就有可能被到处调用,到处new对象)
6、多用设计模式,比如采用MVC的设计模式就可以降低界面与业务逻辑的耦合度。
7、尽量不用“硬编码”的方式写程序,同时也尽量避免直接用SQL语句操作数据库。
(软编码实现)properties
本文内容由快快网络小快整理编辑!