UML 学习

什么是 UML

面向对象的程序设计工具,独立于任何具体的程序语言

类图

关联关系

关联是一种拥有关系,具有方向性

  1. 单向关联,使用带箭头的实线表示,箭头指向被拥有方
  2. 双向关联,使用双向箭头或者不带箭头的实线表示

聚合关系

聚合关系表示整体与部分的关系,使用空心灵性带箭头的虚线表示,菱形指向整体,箭头方向指向个体

eg: 公交车与公交车队

组合关系

组合关系也表示整体与部分的关系,但是比聚合关系更为严格

使用实心菱形的箭头实线表示,菱形指向整体,箭头指向个体

组合关系和聚合关系有什么区别

  1. 组合需要两者有相同的生命周期
  2. 聚合是整体与个体的关系

泛化关系

表示泛化的元素与具体的元素之间的关系,可以理解为继承

用带三角箭头的实线表示,箭头指向父类

实现关系

表示类实现接口的关系

用带三角箭头的虚线表示,箭头指向接口

依赖关系

一个类修改后会影响到另一个类,这就是依赖关系,一般而言,依赖关系是单向的

用带箭头的虚线表示,箭头指向依赖者

关联关系和依赖关系的区别

  1. 依赖更多时候是作为参数传入
  2. 关联关系是一种拥有关系

时序图

组成元素

  1. 角色
  2. 对象
  3. 生命线
  4. 控制焦点,表示一段业务逻辑
  5. 消息
  6. 自关联消息
  7. 组合片段

举例

图中,client、server、device 为对象

箭头表示消息

虚线表示返回值

处理流程是控制焦点

相关推荐
zyf1044164 小时前
暑期实践日志 Day48:复盘大纲与知识点对照表,系统汇总整理成果
学习·计算机网络·剪辑·暑期实践·课题任务
m4Rk_5 小时前
【论文阅读】Agent 记忆机制(61):CFGM——用粗到细的记忆落地贯通经验采集、知识蒸馏与在线纠错
论文阅读·人工智能·学习·开源·github
边境悍匪5 小时前
蜗牛学苑 Java 智能体学习 Day33|AOP 面向切面编程、日志技术思维导图复盘
学习
我是你的开心果7785 小时前
ai全栈软件开发day21(第四阶段喽)
人工智能·学习
网络工程小王5 小时前
【LLM开发实验】FastAPI 学习笔记
数据库·笔记·学习·mysql·fastapi
醉舞经阁半卷书16 小时前
量化交易基础之python库学习
学习
youm20036 小时前
【学习笔记】认识NoSQL——非关系型数据库
笔记·学习·nosql
传奇开心果编程7 小时前
【Rust入门知识点学与练】第11课:HashMap 键值对集合
开发语言·学习·rust
约克37 小时前
商水约克中央空调商用工程的行业洞察与落地要点
学习
王的宝库7 小时前
Linux 性能优化入门
linux·学习