java 耦合度_代码的耦合度
代码耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。)
软件工程规定写代码的原则是“高内聚,低耦合”。内聚是代码块间的独立性,耦合是各个代码块间的联系。
对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。
代码内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
高内聚,低耦合的系统有什么好处呢?事实上,短期来看,并没有很明显的好处,甚至短期内会影响系统的开发进度,因为高内聚,低耦合的系统对开发设计人员提出了更高的要求。长期来看,低耦合的模块便于进行单元测试,且便于维护。
举例:
在java中,你想在你的程序中调用某个类比如说是A1,如果你在程序中直接new A1(),这样就写死了。如过下次业务逻辑有变化,你就必须重新修改A1类的代码。在这种情况下,如果A1类被其他的程序调用,你修改了A1类的代码,可能会对其他程序造成影响。
但是如果你在配置文件里配置你要用到的类的相关属性,通过程序动态地区获得,你只用修改这个配置文件,把他指向另一个类A2就行了。用A2替代A1。这就是低耦合,也是java的面向增加开放,面向修改关闭的原则。
java 耦合度_代码的耦合度相关推荐
- cloc JAVA文件_代码统计工具CLOC的使用方法
原标题:代码统计工具CLOC的使用方法 在处理不同的项目时,有时您可能需要提供进度报告或统计信息,或者只是计算代码的价值. 有一个简单但功能强大的工具叫做" cloc - count lin ...
- 申通快递java工资_[代码全屏查看]-java查询申通快递
[1].[代码] 用到了htmlunit的架包 package org.sjcx.tool; import com.gargoylesoftware.htmlunit.NicelyResynchron ...
- java多态 降低代码耦合性_如何降低耦合度
一.什么是耦合度 耦合度就是某模块(类)与其它模块(类)之间的关联.感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准.耦合的强度依赖于以下几个因素:(1)一个模块 ...
- java 耦合度_耦合度如何降低耦合度
一.什么是耦合度 耦合度就是某模块(类)与其它模块(类)之间的关联.感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准.耦合的强度依赖于以下几个因素:(1)一个模块 ...
- 开发日记-20190417 关键词 代码之间耦合度的一刀两断 (思路篇)
就目前而言,就我的理解,为什么要设计结构清晰的代码呢,因为结构清晰的代码往往耦合度很低,那为什么要降低代码之间的耦合度呢,当然是因为程序员是一种喜爱偷懒和害怕犯无意义错误的一种生物,那么该怎么办呢,无 ...
- java coin介绍_代码示例中的Java 7:Project Coin
java coin介绍 该博客通过代码示例介绍了一些新的Java 7功能,这些项目在Project Coin一词下进行了概述. Project Coin的目标是向JDK 7添加一组小的语言更改.这些更 ...
- java电子日记本代码_计算法日记将规则的价值视为无需计算机的代码
java电子日记本代码 I've been preparing a presentation for the Canadian Institute for the Administration of ...
- java 用程序代码解释继承_关于初级java程序员笔试题
关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...
- java三目运算符简化代码_如何使用传播运算符简化代码
java三目运算符简化代码 by Matt Granmoe 通过Matt Granmoe 如何使用传播运算符简化代码 (How to simplify your code with the sprea ...
最新文章
- 关于模态对话框和非模态对话框的创建、显示,以及和父对话框的传值
- JavaScript常用DOM集合
- freeimage边缘检测
- Linux入门基础教程之Linux下软件安装
- leetcode 378. Kth Smallest Element in a Sorted Matrix
- 质量糟糕的代码会在项目中像病毒一样传播,尽量在源头控制好代码质量、强调范例的重要性...
- oracle查询注意点,oracle查询相关注意点
- C语言学习笔记---数组和指针的区别
- SAP License:SAP S/4 HANA模块功能介绍
- 如何用 Python 爬取网易云音乐的 10w+ 评论?附详细代码解读
- 项目管理方面的几个.NET开源项目
- AVC与H264 区别
- Android进阶之利用Tablayout+ViewPager+Fragment实现神奇的滑动效果
- C语言从入门到精通需要多久?你真的知道吗!
- 怎么把两个pdf合并成一个?pdf合并方法
- 我的世界服务器插件文件夹,各位大神服务器没有插件文件夹怎么办
- GAMES101 Lec6 反走样与深度缓冲
- 你也遇到JSONException:create instance error, null...问题啦?
- 计算机连接网络被限制,wifi连接被限制怎么办,教您wifi显示网络受限如何解决
- 十进制转化为二进制与十六进制显示(汇编程序)