`
davidx
  • 浏览: 82690 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

软件设计原则 高内聚、低耦合

阅读更多

http://www.blogjava.net/realsmy/archive/2008/05/25/109245.html

内聚:一个模块内各个元素彼此结合的紧密程度

耦合:一个软件结构内不同模块之间互连程度的度量

最近编码的时候,总是在犹豫是把某个方法封装在一个类里,还是单独的封装成一个类。这让我突然想起内聚耦合这两个名词。

我们一直追求着,高内聚,低耦合。

对于低耦合,我粗浅的理解是:

一个完整的系统,模块与模块之间,尽可能的使其独立存在。

也就是说,让每个模块,尽可能的独立完成某个特定的子功能。

模块与模块之间的接口,尽量的少而简单。

如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。

这样有利于修改和组合。

对于低耦合,我粗浅的理解是:

在一个模块内,让每个元素之间都尽可能的紧密相连。

也就是充分利用每一个元素的功能,各施所能,以最终实现某个功能。

如果某个元素与该模块的关系比较疏松的话,可能该模块的结构还不够完善,或者是该元素是多余的。

内聚和耦合,包含了横向和纵向的关系。功能内聚和数据耦合,是我们需要达成的目标。横向的内聚和耦合,通常体现在系统的各个模块、类之间的关系,而纵向的耦合,体现在系统的各个层次之间的关系。

对于我在编码中的困惑,我是这样想的,用面向对象的思想去考虑一个类的封装。
一个方法,如何封装,拿到现实生活中来看,看这种能力(方法)是否是属于这类事物(类)的本能。
如果是,就封装在这个类里。
如果不是,则考虑封装在其它类里。
如果这种能力,很多事物都具有,则一定要封装在这类事物的总类里。
如果这种能力,很多事物都会经常用到,则可以封装成一个总类的静态方法。

分享到:
评论

相关推荐

    高内聚低耦合

    高内聚低耦合不仅是软件设计的基本原则之一,也是提高软件质量、可维护性和可扩展性的关键。通过对系统进行合理的模块化设计,并确保每个模块具有明确的责任范围以及与其他模块间的适度交互,可以显著提升系统的整体...

    软件开发中的问题:什么是高内聚、低耦合?

    在软件开发中,遵循高内聚、低耦合的设计原则对于构建可维护、可扩展的系统至关重要。通过合理规划模块的内聚性和耦合性,可以有效地降低系统的复杂度,提高代码质量和开发效率。这对于任何规模的项目来说都是非常有...

    论文:高内聚低耦合软件架构的构建_程春蕊

    《高内聚低耦合软件架构的构建》这篇论文深入探讨了软件工程中的核心设计理念——高内聚与低耦合,这是构建高质量、可维护、易于扩展的软件系统的重要原则。高内聚指的是模块内部元素之间的紧密关联,而低耦合则意味...

    图解高内聚与低耦合.docx

    通过理解并实践高内聚与低耦合的原则以及相关的接口设计原则,可以显著提高软件系统的质量和可维护性。这些概念不仅适用于传统的面向对象编程,同样也适用于现代的微服务架构和其他软件开发模型。

    一个学生管理系统的demo 高内聚 低耦合

    在软件工程中,高内聚和低耦合是衡量系统设计质量的重要原则。本文将深入探讨如何在C#环境中,通过一个学生管理系统的示例(demo)来实现这两个概念,并分析其中的关键技术。 首先,我们来理解“高内聚”和“低耦合...

    高内聚低耦合原则_动力节点Java学院整理

    高内聚低耦合原则是软件设计和编码质量评价的一个重要标准。耦合度是衡量模块(类)之间关联、感知和依赖的程度,也是衡量代码独立性的一个指标。降低耦合度可以减少模块间的影响,防止对某一模块修改所引起的“牵一...

    强内聚松耦合与测试的关系

    综上所述,强内聚松耦合不仅是软件设计的重要原则,也是优化软件测试的关键策略。通过遵循这一原则,开发者可以构建出更加模块化、可测试和可维护的系统,同时提高开发效率和软件质量。因此,在软件开发的初期阶段,...

    耦合内聚.doc

    在软件设计中,追求高内聚低耦合是优化系统结构的重要原则。高内聚模块使得代码更易于理解和维护,而低耦合则使模块之间相互独立,减少变更带来的影响。因此,在设计和重构过程中,应努力提升模块的内聚度,降低模块...

    高内聚低耦合法则实例解析

    高内聚低耦合法则实例解析 高内聚低耦合法则是软件设计的总...在高内聚低耦合法则实例解析中,我们可以看到,低耦合高内聚原则对软件设计的重要性,它可以提高代码的复用率,降低耦合度,提高代码的可维护性和可读性。

    软件设计师考试笔记考点(知识点)归纳总结1

    - **高内聚低耦合**:这是软件设计的基本原则,高内聚意味着模块内部组件之间有强关联,低耦合意味着模块之间相互依赖性小,有助于提高软件的可维护性和可扩展性。 4. **内聚和耦合类型**: - **通信内聚**:模块...

    专业技能指导作业-高耦合低内聚.docx

    高耦合低内聚是软件设计中的一种重要原则。高耦合是指软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。低内聚是从功能角度来度量模块内的...

    高内聚,低偶合,OSWorkflow,Hibernate 持久化层的游离状态

    在软件设计领域,"高内聚、低偶合"是一条重要的原则,它关乎着代码的质量和可维护性。高内聚意味着一个类或模块的功能集中且单一,尽量减少对外部的依赖,使得类的职责明确,提高了代码的稳定性和可读性。低偶合则是...

    耦合内聚.zip

    在实际开发中,我们追求低耦合高内聚的设计原则,以提高软件的可重用性、可读性和可维护性。为了实现这一目标,可以采取以下策略: 1. 减少全局变量的使用,尽量通过接口和方法进行通信。 2. 设计模块时,确保每个...

    软件工程-软件系统概要设计方案研讨(ppt-21页).ppt

    5. 软件系统的设计原则:软件系统的设计原则是指在设计软件系统时需要遵循的一些原则,如高内聚、低耦合、单入口单出口原则等。 在本节课中,我们讨论了软件系统概要设计的重要性和模块化设计的原则和方法。我们还...

    软件设计的七大原则(OOD)

    SRP可以提高内聚降低耦合,高内聚低耦合是设计师追求的理想,低内聚高耦合会导致模块灵活性、可复用性、可扩展性和可维护性降低。SRP的核心是在抽象层面和实现层面正确地抽象和分离职责。 二、OCP(Open-Close ...

    检测JavaScript类的内聚耦合Code Smell.pdf

    这种方法在6个开源项目上的实验表明,JS4C对于检测内聚耦合设计问题具有较高的准确性和有效性。 总的来说,理解和检测JavaScript类的内聚耦合Code Smell是优化代码质量和设计的关键步骤。通过JS4C这样的工具和方法...

    软件开发设计原则

    换句话说,一定要做到:低耦合,高内聚。 在实际应用中,不要让一个类依赖于太多的其他类,需尽量减小依赖关系,否则,您死都不知道自己怎么死的。 5. 接口隔离原则(Interface Segregation Principle - ISP) ...

    22丨理论八:如何用迪米特法则(LOD)实现“高内聚、松耦合”? 1

    "高内聚、松耦合"是软件设计中的核心理念,旨在提高代码的可读性和可维护性。高内聚指的是将相关性强的功能聚合在一个模块、类或函数中,使得这些功能紧密联系,减少不必要的相互干扰。这样做的好处是当需要修改某个...

    Java面向对象程序设计与系统开发项目编码实现PPT教案学习.pptx

    这个类的设计和实现是项目中非常重要的一部分,需要考虑到高内聚低耦合的设计原则。 四、任务实现 任务实现部分包括四个步骤: 1.按照图创建出工程 atm_cs, 并添加包结构。 2.按照图结构和命名方式,创建出各个类...

Global site tag (gtag.js) - Google Analytics