首页 > 其他分享 >UML中关联、聚合和合成

UML中关联、聚合和合成

时间:2023-06-18 22:56:33浏览次数:39  
标签:聚合 Aggregation 关联 lifetime Child UML Composition Association

摘自: sangmado - UML中关联(Association)、聚合(Aggregation)和合成(Composition)之间的区别

元素名称 符号图例 含义
Association

 

A 和 B 相互调用和访问对方的元素。

A and B call and access each other’s elements.

Aggregation

A 中拥有一个 B,但 B 脱离于 A 仍然可以独立存活。

A has a B, and B can outlive A.

A "uses" B = Aggregation : B exists independently (conceptually) from A.

Composition

A 中拥有一个 B,B 脱离 A 后在系统中没有任何存活的意义。

A has a B, and B depends on A.

A "owns" B = Composition : B has no meaning or purpose in the system without A.

我们可以从不同的角度来理解和区分这三种关系:

  Association Aggregation Composition
Owner No owner

 Single owner

Single owner

Lifetime Have their own lifetime

Have their own lifetime

Owner's lifetime

Child Object Child objects all are independent

Child objects belong to a single parent

Child objects belong to single parent

所以,总结来说,聚合(Aggregation)是一种特殊的关联(Association),合成(Composition)是一种特殊的聚合(Aggregation)。

Association->Aggregation->Composition

标签:聚合,Aggregation,关联,lifetime,Child,UML,Composition,Association
From: https://www.cnblogs.com/Knight02/p/17489931.html

相关文章

  • SQL聚合/多表/连接查询
    一、聚合查询使用SQL自带的聚合函数进行查询,有count()、AVG()、min()、max()、sum()二、分组聚合查询SELECTCity,Gender,COUNT(*)FROMStudentsGROUPBYCity,Gender;三、多表查询    ......
  • java 聚合项目--pom.xml配置文件
    java聚合项目创建聚合项目的2种方式:分层项目开发:1.DAO:java工程项目;(mavenquickstart)2.Service:java工程项目;(mavenquickstart)3.模型:java工程项目;(mavenquickstart)4.共工模块:java工程项目;(mavenquickstart)5.controller+view:webapp:web工程项目(mavenwebapp)工程类型:packing......
  • java 创建聚合项目的2种方式及 部署Nacos
    创建聚合项目的2种方式byIDEA20231.创建module,erp-parent2.创建子module,设置每个module的pom.xml属性pom及父模块;3.配置erp-parent模块里的pom.xml1.创建module,erp-parent2.创建子module--mavenarchet部署nacosype(archetype:quickstart(java工程),webapp(web工程),设置每......
  • 系统架构师-UML相关图
    原文合集地址如下,有需要的朋友可以关注本文地址合集地址基本概念在UML(统一建模语言)中,常见的九种图包括:类图(ClassDiagram):展示系统中的类、接口、关系和属性等静态结构。对象图(ObjectDiagram):展示系统中对象的实例和对象之间的关系。用例图(UseCaseDiagram):描述系统的功能需求,显示参......
  • 系统架构师-UML相关图
    原文合集地址如下,有需要的朋友可以关注本文地址合集地址基本概念在UML(统一建模语言)中,常见的九种图包括:类图(ClassDiagram):展示系统中的类、接口、关系和属性等静态结构。对象图(ObjectDiagram):展示系统中对象的实例和对象之间的关系。用例图(UseCaseDiagram):描述系统的......
  • UML类图(二)
    相信希望,相信自己上一章简单介绍了设计模式的原则(一),如果没有看过,请观看上一章本文参考文章:常见UML符号详解UML(Unifiedmodelinglanguage)统一建模语言,是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。一.UML类图描述如:一.......
  • 痞子衡嵌入式:主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是几家主流QuadSPINORFlash厂商关于QE位与IO功能复用关联设计。痞子衡之前写过一篇文章《串行NORFlash下载/启动常见影响因素之QEbit》,这篇文章介绍了几家主流厂商关于QEbit在Flash内部寄存器位置以......
  • UML用例图
    原文合集地址如下,有需要的朋友可以关注本文地址合集地址介绍UML(UnifiedModelingLanguage)用例图的缩写为UCD,其中UCD代表UseCaseDiagram。用例图是软件系统设计中的一种图形化表示工具,用于描述系统的功能需求和用户与系统之间的交互。用例图主要用于捕捉系统的行为视图,展示系统中......
  • UML用例图
    原文合集地址如下,有需要的朋友可以关注本文地址合集地址介绍UML(UnifiedModelingLanguage)用例图的缩写为UCD,其中UCD代表UseCaseDiagram。用例图是软件系统设计中的一种图形化表示工具,用于描述系统的功能需求和用户与系统之间的交互。用例图主要用于捕捉系统的行为视图,展示......
  • jpa2.2.10 JpaSpecificationExecutor Specification 查询时,实体类中存在@OneToMany,怎
    对于这个问题,您可以在查询时通过join()方法指定不查询@OneToMany关联表。举个例子,如果有一个实体A与实体B是一对多关系,那么您可以这样写查询条件:@OneToMany(targetEntity=DcyRightImage.class,cascade={CascadeType.ALL},fetch=FetchType.EAGER)@JoinColumn(nam......