Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 637|回复: 0

Java程序设计关于低耦合与高内聚理念

[复制链接]

该用户从未签到

发表于 2011-10-18 20:08:16 | 显示全部楼层 |阅读模式
熟悉java的人都知道Java程序设计时,为了避免程序的冗杂,减少各个类之间的依耐性,经常使用低耦合和高内聚的设计理念。
    所谓耦合是指在一个软件结构内不同模块之间互连程度的度量,
    而低耦合就是指在设计一个软件时,作为一个完整的软件系统,对于各种模块与模块之间应尽可能的是其独立的存在,让每个模块尽可能的独立完成其特定的功能。
    如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
    所谓内聚是指一个模块内各个元素彼此结合的紧密程度。而高内聚就是指在一个模块的内部,应该尽可能的让每个元素都紧密的相连。
    也就是充分利用每一个元素的功能,各施所能,以最终实现某个功能。
    如果某个元素与该模块的关系比较疏松的话,可能该模块的结构还不够完善,或者是该元素是多余的。
    例如以下有四个类,分别有两种设计方法 ,如图:
    图一:



   在该图中    各个类之间呈网状引用结构,如果写代码时也是这种结构,那么不仅会使代码很难理解,而且不容易使读者理解,更重要的时,无法继续在上面扩展代码,即你更改某一个类的元素时,同时也会影响到其他的类,因为他们之间的依耐性很高,所谓的“牵一发而动全身”就是指的这个意思。
    图二:
  

在该图中,我们可以看到类C,B,A都只是为D所用,所以他们相互之间是独立的,在我们修改代码时:比如我们修改类C中的代码,那就不会影响到类B和类A,这样,只要采用这种星状结构,不论我们的软件有多么的庞大,我们在修缮代码时也不会有太多的麻烦。
    内聚和耦合,包含了横向和纵向的关系。功能内聚和数据耦合,是我们需要达成的目标。横向的内聚和耦合,通常体现在系统的各个模块、类之间的关系,而纵向的耦合,体现在系统的各个层次之间的关系。
    高内聚和低耦合是软件工程设计的一种原则,是写代码时要遵循的一种规范。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 14:28 , Processed in 0.419840 second(s), 35 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表