`

高內聚、低耦合。多聚合、少繼承

    博客分类:
  • J2EE
 
阅读更多
面向對象原則:高內聚、低耦合。多聚合、少繼承
2015-05-28 18:13:00
  面向對象的基本原則:多聚合,少繼承。低耦合,高內聚.

一、高內聚、低耦合
1、概述:
內聚:每個模塊儘可能獨立完成自己的功能,不依賴於模塊外部的代碼。

耦合:模塊與模塊之間接口的複雜程度,模塊之間聯繫越複雜耦合度越高,牽一髮而動全身。

目的:使得模塊的「可重用性」、「移植性」大大增強

通常程序結構中各模塊的內聚程度越高,模塊間的耦合程度就越低

2、模塊粒度:
1)函數

高內聚:儘可能類的每個成員方法只完成一件事(最大限度的聚合)

低耦合:減少類內部,一個成員方法調用另一個成員方法

2)類

高內聚低耦合:減少類內部,對其他類的調用

3)功能塊

高內聚低耦合:減少模塊之間的交互複雜度(接口數量,參數數據)

橫向:類與類之間、模塊與模塊之間

縱向:層次之間

儘可能,內容內聚,數據耦合

二、多聚合、少繼承
聚合:事物A由若干個事物B組成,體現在類與類之間的關係就是:「類B的實例」作為「類A」的「成員對象」出現。(不就是內部類嘛,意思就是多使用內部類,也不一定是內部類,可能該類的一個成員變量是另一個類的對象,少使用繼承extends)

繼承:顧名思義,體現在類與類之間的關係就是:「類B」被類A所繼承

顯然,當觀察類B所具有的行為能力時,「聚合」方式更加清晰。

典型應用:java適配器模式中,優選「對象適配器」,而不是「類適配器」


原文網址:https://read01.com/GBe76m.html
分享到:
评论

相关推荐

    OOAD课件.doc

    高内聚,低耦合是一个问题的两个方面。 十四、开发过程 开发过程是指整个软件的开发周期,主要核心在于控制。统一软件开发过程是一个迭代、递增的开发过程,包括初始阶段、细化阶段、构建阶段和移交阶段。

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

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

    软工MOOC解答题(带答案)1

    良好的软件设计通常追求高内聚、低耦合。 软件体系结构是软件系统的结构框架,它定义了组件、接口和它们之间的交互。常见的体系结构模式有分层结构(如客户-服务器架构)和管道过滤器(如网络协议栈)等。软件再...

    2024Maven高级操作

    - 遵循低耦合高内聚的原则,确保模块间的依赖关系清晰且最小化; - 模块间通信应通过接口而非具体实现,提高系统的灵活性与可维护性。 #### 2. Maven中的继承与聚合 在Maven中,**继承**和**聚合**是两个重要的...

    程序设计模式作业二1

    首先,好的设计系统应该具备高内聚和低耦合的特性。高内聚意味着系统内的组件专注于执行特定任务,减少内部组件间的复杂交互。而低耦合则是指组件之间的依赖关系尽可能少,这样改动一个组件时不会影响到其他组件。...

    信息系统面向对象方法3

    内聚度衡量一个类内部元素(如方法和属性)的相关性,高内聚意味着类的功能集中且单一;耦合度则表示类之间的相互依赖程度,低耦合意味着系统组件间的关系更松散,更易于维护和扩展。 面向对象设计原则是指导软件...

    软件工程复习题答案参照.pdf

    12. 模块内聚度是衡量模块内相关性的一个度量,高内聚意味着模块内的元素紧密相关,通常更有利于软件的维护。 13. 结构化程序设计的三大基本结构是顺序、选择和循环,它们构成了一般程序设计的基础。 14. 面向对象...

    软件开发基础课程 软件工程导论 第12章 面向对象的设计与实现 共40页.pptx

    5. **强内聚**:内聚是指一个模块内部各个组成部分之间联系的紧密程度,高内聚意味着模块的功能更加集中且单一。 - **服务内聚**:每个服务只完成一项功能。 - **类内聚**:类的属性和服务都围绕着该类的主要目的...

    Java软件度量源码.7z

    2. 内聚性(Cohesion):衡量类或方法内部元素的相关性,高内聚表示更清晰的职责划分。 五、设计原则度量 1. SOLID原则遵守情况:单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)...

    设计模式详解

    3. **高内聚与低耦合**:单一职责原则有助于实现系统的高内聚与低耦合。通过将不同的职责分离到不同的类中,可以降低类之间的耦合度,提高整体的可维护性和可扩展性。 **例子**: 假设有一个`User`类同时包含了数据...

    面向对象的设计的原则 电子版

    单一职责原则是实现高内聚、低耦合的指导方针,它是最简单但又最难运用的原则。 2. 开闭原则(OCP):一个软件实体应当对扩展开放,对修改关闭。开闭原则是面向对象设计的核心原则之一,它告诉我们,在软件设计中,...

    软件工程2019试题试题

    耦合度从低到高,依次为:无耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。 5. 软件模块的耦合度描述了模块间的相互依赖程度。从弱到强,耦合度分为:无耦合、数据耦合、标记耦合、控制耦合...

    设计模式与软件架构设计.pptx

    内聚和耦合是衡量模块质量的重要指标,高内聚意味着模块内部组件关系紧密,而低耦合意味着模块间交互简单,这种设计有助于提高系统的可维护性和可扩展性。 在软件开发过程中,我们需要遵循一些设计原则,如开闭原则...

    设计模式和原则(很实用)

    3. **高内聚**:类内部的方法和数据应高度相关,这意味着类的大部分功能都集中在执行某一特定任务上。 4. **低耦合**:类与类之间应该保持尽可能少的依赖关系,以降低修改一个类对其他类的影响。 5. **信息专家**...

    DOD启示录之程序设计经验原则总结

    12. **GRASP(General Responsibility Assignment Software Principles)原则**:这是一组用于指导对象职责分配的原则,如高内聚、低耦合、创建者拥有、间接引用、多态等。 以上原则在实际编程中并非孤立存在,而是...

    软件工程试题(1).pdf

    构件集成模型关注组件的复用和集成)、可复用构件的基本特征(如独立性、接口标准化等)、软件结构优化准则(如减少耦合、提高内聚等)以及类与类之间的结构关系(如继承、关联、聚合、组合等)。 此外,试题还要求...

    广东工业大学《UML》两套期末考试试卷(含答案).pdf

    低耦合和高内聚被认为是好的设计原则。 由于文档内容中提到“敏捷和RUP是并列的方法”,我们可以推测考试可能还涉及到敏捷开发与Rational Unified Process(RUP)的比较。敏捷开发强调迭代和增量的开发方式,而RUP...

    山科18级软件工程概论期末考试.docx

    4. 耦合和内聚是衡量模块独立性的两个重要指标,高内聚和低耦合被认为是理想的模块独立性,因为它们提高了软件的可读性、可维护性和可重用性。 5. DFD中,数据流可以流入处理(数据处理器),流出处理,也可以流入...

Global site tag (gtag.js) - Google Analytics