【菜鸟也疯狂UML系列】——浅析UML四种关系
在UML中。关系是很重要的。它抽象出对象之间的联系,让对象构成某个联系起来的结构。以下将简要分析一下UML中的四种关系:关联。依赖,泛化,实现。
一、举例罗列
1、关联(Association)
关联是用来连接有结构关系的对象,能够连接同样类或者不同类。也能够是双向关联和单向关联。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVja3lzdGFyNjg5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(1)聚合(Aggregate)
表示的是实体对象之间的关系,表达总体与部分的关系,总体由部分构成,可是此关系不是强依赖关系,也就是说,部分不会依据总体的消失而消失。
聚合关系用一条空心菱形箭头直线表示。箭头指向总体。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVja3lzdGFyNjg5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(2)组合(Composition)
表示实体对象关系,表达总体与部分的关系,总体拥有部分。是强依赖的聚合关系,部分会随着总体的消失而消失。
组合关系用一条实心菱形箭头直线表示,箭头指向组合的母对象,也就是总体,表示部分属于总体。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVja3lzdGFyNjg5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
2、依赖(Dependency)
依赖关系用一条带箭头的虚线表示,箭头指向被依赖的对象。也能够表使用关系。
3、泛化(Generalization)
用空心箭头的直线表示,箭头指向被继承的对象。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHVja3lzdGFyNjg5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
4、实现(Realize)
二、比較分析
1、聚合VS组合
两者都是表示总体与部分的关系,可是不同的是,组合是强依赖聚合关系。部分脱离总体便不再存在。而聚合关系。部分脱离总体还能够继续存在。
2、关联VS依赖
刚開始分不清关联和依赖,后来看了视频里讲的是依赖能够作为使用关系,在不同场景下的使用关系。没有场景就没有关系;而关联不同,关联表示的是两个对象之间的关系。不会消失的。
3、泛化VS实现
但从绘图方面来看。除了一个是直线。一个是虚线外没有什么不同的。
关系的强弱也一样。
依赖<关联<聚合<组合<泛化=实现
三、总结
最新文章
- 移动混合开发之android文件管理demo
- [NOIP2015] 普及组
- js获取url方法
- osg,qt编译的一些问题
- 随机数是骗人的,.Net、Java、C为我作证
- mysql用shell建100多字段表并导入
- WCF入门(9)
- Git入门学习和应用笔记
- 百度编辑器(Ueditor)最新版(1.4.3.3)插入锚点失败原因分析及BUG修复
- 博客搬家啦。请访问我的新底盘www.boyipark.com
- Linux下部署LVS(DR)+keepalived+Nginx负载均衡
- maven在mac上的入门使用
- ListView上下线添加
- 第七十节,css选择器
- wcf、web api、webservicer 之间的区别
- spring MVC 环境搭建
- Zabbix 3.0 基础介绍 [一]
- Redis进阶实践之三如何在Windows系统上安装安装Redis
- mongo索引
- Struts2源码解析-----转载
热门文章
- [已解决]#1142 - SELECT command denied to user &#39;&#39;@&#39;localhost&#39; for table &#39;pma_table_uiprefs&#39;
- 洛谷P3942将军令
- Python开发基础-Day15正则表达式爬虫应用,configparser模块和subprocess模块
- Python开发基础-Day2-流程控制、数字和字符串处理
- Spring事务传播性
- 【数论】【扩展欧几里得】hdu3579 Hello Kiki
- Problem B: 查找某一个数
- 模仿.Net ThreadPool的线程池控件
- Word中正文两栏表格通栏排版
- 【LaTeX】E喵的LaTeX新手入门教程(4)图表