`

设计模式:六大原则之合成/聚合复用原则

 
阅读更多

一:合成/聚合复用原则

  尽量使用合成/聚合,尽量不要使用类继承

  二:什么是合成?

  合成表示一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样,打个比方:人有两个胳膊,胳膊和人就是部分和整体的关系,人去世了,那么胳膊也就没用了,也就是说胳膊和人的生命周期是相同的

  . 合成关系用实心的菱形+实线来表示

  三:什么是聚合?

  聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但是B对象并不是A对象的一部分,打个比方:人是群居动物,所以每个人属于一个人群,一个人群可以有多个人,所以人群和人是聚合的关系

  聚合关系用空心的菱形+实线来表示

  四:为什么尽量不要使用类继承而使用合成/聚合?

  . 对象的继承关系在编译时就定义好了,所以无法在运行时改变从父类继承的子类的实现

  . 子类的实现和它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化

  . 当你复用子类的时候,如果继承下来的实现不适合解决新的问题,则父类必须重写或者被其它更适合的类所替换

  这种依赖关系限制了灵活性,并最终限制了复用性

  五:合成/聚合复用原则结构图

  1和2以及n,被称为基数,表示这一端的类可以有几个实例,很显然,一个人有两个胳膊,如果一个类可能有无数个实例,则用n表示,一人群可能有无数个人

  

 

原文地址:http://www.cnblogs.com/menglin2010/archive/2012/04/09/2435785.html
分享到:
评论

相关推荐

    设计模式六大原则详解 经典

    在这篇文章中,我们将深入探讨设计模式的六大原则,这些原则是理解并有效应用设计模式的基础。 首先,我们要了解“开-闭”原则(Open-Closed Principle,OCP)。这个原则指出,一个软件实体(如类、模块或函数)...

    设计模式六大原则 .docx

    设计模式六大原则是软件开发中不可或缺的指导原则,它们旨在提高代码的可维护性、可扩展性和可重用性。以下是对这六个原则的详细解释: 1、单一职责原则(SRP) 单一职责原则指出,一个类或模块应只负责一项功能。...

    java面向对象设计的六大原则

    DIP)、接口隔离原则(Interface Segregation Principle, ISP)以及合成/聚合复用原则(Composite/Aggregate Reuse Principle, CARP)。 #### 1. 单一职责原则(Single Responsibility Principle, SRP) - **定义...

    24种设计模式介绍与6大设计原则

    二、设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序...

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

    6. **合成/聚合复用原则**:优先使用对象组合或聚合,而不是继承,因为继承会带来较高的耦合度。 结合GRASP原则和设计原则,我们可以构建出更灵活、可扩展的系统。设计模式如工厂模式、策略模式、观察者模式等都是...

    JAVA设计模式的六大原则

    ### JAVA设计模式的六大原则 #### 一、开闭原则(Open-Close Principle) **定义:** 开闭原则强调的是软件实体(类、模块、函数等)应该是可扩展的但不可修改的,即软件实体应该对扩展开放,对修改关闭。 **实践...

    设计模式(23种)与设计原则(6种)

    5. **合成/聚合复用原则**(Composite/Aggregate Reuse Principle, CARP):优先使用对象的组合或聚合,而不是继承来达到复用的目的。这样可以减少类之间的耦合,增强系统的灵活性。 6. **最少知识原则**...

    设计模式的精简版

    设计模式的六大原则: 1. 开闭原则:软件实体(如类、模块、函数)应对于扩展开放,对于修改关闭。 2. 里氏代换原则:子类必须能够替换它们的基类。 3. 依赖倒转原则:依赖于抽象,而不是具体实现。 4. 单一职责原则...

    23种设计模式.pdf

    这23种设计模式和六大设计原则是软件设计中的宝贵经验,它们帮助开发者写出更高质量的代码,构建出更易于维护和扩展的软件系统。在实际开发中,开发者应灵活运用这些模式和原则,以适应不断变化的需求和复杂度。

    Java 设计模式总结 Java 设计模式总结

    设计模式遵循六大原则: 1. 开闭原则:对扩展开放,对修改关闭,意味着模块应易于扩展,但难于修改。 2. 里氏代换原则:子类必须能够替换它们的基类,保证软件的可替换性和可扩展性。 3. 依赖倒转原则:依赖于抽象,...

    设计模式 试题

    对象适配器模式是**合成/聚合复用原则**(选项A)的一个典型应用。它允许类使用一个不同的接口工作,通过组合现有的类来实现所需的接口。 ### 静态工厂模式与工厂方法模式的区别 虽然两者都用于对象的创建,但是...

    Java 23种设计模式通解

    本文档总结了Java 23种设计模式的基本概念、分类、六大原则和详细实现。设计模式是软件工程的基石,它们被广泛应用于软件开发中,以提高代码的可重用性、可读性和可维护性。 设计模式的分类: * 创建型模式(5种)...

    2023年最新java面试题及答案

    综上所述,设计模式的六大原则是面向对象设计的核心指导思想,它们分别是:开闭原则、单一职责原则、里氏替换原则、依赖倒转原则、接口隔离原则和迪米特法则。遵循这些原则可以提高代码的质量,使软件更易于维护、...

    java23个设计模式

    设计模式的六大原则: 1. 开闭原则:对扩展开放,对修改关闭。这意味着在不修改原有代码的情况下,可以通过扩展来增加新功能。 2. 里氏代换原则:子类必须能够替换其基类,不影响系统的正常运行,保证多态性。 3. ...

    设计模式Demo

    二、设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序...

    尚硅谷设计模式源码笔记课件.zip

    1) 内容包括: 设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚合和组合) 23种设计模式包括:创建型模式:单例模式(8种...

    Java设计模式

    **设计模式的六大原则** 1. **开闭原则**(Open-Closed Principle):软件实体(类、模块、函数等)应对扩展开放,对修改关闭,意味着增加新功能时,不应改动已有的代码。 2. **里氏代换原则**(Liskov Substitution...

Global site tag (gtag.js) - Google Analytics