UML 设计技巧
UML设计技巧
+ 表示bublic
- 表示private
# 表示protected
~ 表示default,可省略不写
字段或方法返回值的数据类型非必须
抽象类或抽象否昂发用斜体表示。
静态类或静态方法加下划线。
如果是接口在类名上方加 <<interface>>
继承关系
实现关系
组合关系
聚合关系
关联关系
依赖关系
箭头方向:从子类指向父类
记忆技巧:
-
定义子类是需要通过extends关键字指定父类;
-
子类一定是知道父类定义的,但父类并不知道子类的定义;
-
只有知道对方信息时才能指向对方;
-
所以箭头的方向是从子类指向父类。
继承/实现:用线条连接两个类
记忆技巧:
-
空心三角箭头表示继承或实现。
-
实线表示继承,是is-a的关系,表示拓展,不虚,很结实;
-
虚线表示实现,虚线代表“虚”无实体。
关联/依赖:用线条连接两个类
记忆技巧:
-
虚线表示依赖关系:临时用一下,若即若离,虚无缥缈,若有若无;表示一种使用关系,一个类需要借助另一个类实现功能;一般是一个类将另一个作为参数使用,或者作为返回值。
-
实线表示关联关系:关系稳定,实打实的关系,铁哥们;表示一个类对象和另一个类对象有关联;通常是一个类对象中有另一个类对象作为属性。
组合/聚合:用菱形表示
记忆技巧:
-
菱形就是像是一个盛东西的器皿(比如盘子);
-
聚合:空心菱形,代表空器皿里可以放很多相同的东西,聚集在一起(箭头所指向的类);整体和局部的关系,两者有独立的生命周期,是has-a的关系;弱关系,消极的词:弱-空。
-
组合:实心菱形,代表器皿里已经有实体结构的存在,生死与共;整体与局部的关系,和聚合关系对比,关系更加强烈;两者具有相同的生命周期,contatins-a的关系;强关系,积极的词:强-满。
注意:UML类关系图中,没有实心箭头
UML关系图案例
时序图定义
时序图描述对象之间发送消息的顺序,强调时间顺序。时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,依照时间顺序纵向排列。用箭头表示消息、用竖虚线表示对象生命周期。
时序图作用
1、展示对象之间交互的顺序。将交互行为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展示对象之间的交互;
2、相对于其他UML图,时序图更强调交互的时间 顺序;
3、可以直观的 描述并发进程
时序图的组成元素
角色(Actor)
对象(Object)
生命线(Lifeline)
控制焦点(Focus of Control)
消息(Message)
自关联消息
组合片段
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗