uml 类图依赖与关联的区别
2024-08-31 22:05:10
类与类之间由弱到强关系是: 没关系 < 依赖 < 关联 < 聚合 < 组合。
1、依赖(dependency)
可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用。用带虚线的箭头。
2、关联(association)
他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;
依赖和关联区别:我用锤子修了一下桌子,我和锤子之间就是一种依赖,我和我的同事就是一种关联。依赖是一种弱关联,只要一个类用到另一个类,但是和另一个类的关系不是太明显的时候(可以说是“uses”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系。关联是类之间的一种关系,例如老师教学生,老公和老婆这种关系是非常明显的。依赖是比较陌生,关联是我们已经认识熟悉了。
最新文章
- 模板函数(template function)出现编译链接错误(link error)之解析
- UE4实现风格化渲染(一):UserNormalTranslator工具的使用
- ORACLE创建表之前判断表是否存在与SQL Server 对比使用
- Python3学习(1)-基础篇
- The constness of a method should makes sense from outside the object
- strus2中获取表单数据 两种方式 属性驱动 和模型驱动
- .NET中 MEF应用于IOC
- Ftp连接错误
- 算法的稳定性(Stability of Sorting Algorithms)
- Oracle Dataguard 介绍
- JVM的Server与Client运行模式区别与切换
- javascript的数组之reverse()
- [HTML]将错误alert出来[转]
- spring整合curator实现分布式锁
- C++ leetcode Binary Tree Maximum Path Sum
- Linux配置Supervisor 配置遇到的坑
- Docker 架构(四)
- 探索RequestBody报com.alibaba.fastjson.JSONObject cannot be cast to xxx
- HDU 6063 17多校3 RXD and math(暴力打表题)
- 网络流——最大流Dinic算法
热门文章
- <;meta name=";viewport"; content=";width=device-width,initial-scale=1.0";>;
- 2015,我的投资理财策略(股权众筹+P2P网贷+活期理财)
- Storm新特性之Flux
- Oracle分页查询的一个存储过程:
- maven 配置Project Facets时further configuration available不出来问题
- stm32单片机时钟中断的配置
- hcharts实现堆叠柱形图
- 一个例子讲解wav头文件 stm32声音程序 录音和播放 wav
- Unreal Enginer4特性介绍-牛B闪闪的UE4
- [TypeStyle] Compose CSS classes using TypeStyle