设计模式—UML类图
欢迎关注笔者的微信公众号
UML
UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
UML 2.2中一共定义了14种图示。为方便了解,可分类成右侧的结构。
结构性图形(Structure diagrams)强调的是系统式的建模:
- 静态图(static diagram)
- 类图
- 对象图
- 包图
- 实现图(implementation diagram)
- 组件图
- 部署图
- 剖面图
- 复合结构图
行为式图形(Behavior diagrams)强调系统模型中触发的事件:
- 活动图
- 状态图
- 用例图
交互性图形(Interaction diagrams),属于行为图形的子集合,强调系统模型中的资料流程:
- 通信图
- 交互概述图(UML 2.0)
- 时序图(UML 2.0)
- 时间图(UML 2.0)
类图
类图是什么?
用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。
类图的表示
+ 公共 public
- 私有 private
# 保护(即对子类可见)protected
~ 包(对包内其他成员可见)
/ 推导(即由其他属性推导得出,不需要直接给定其值)
例如:有一个Person
类
@Data // lombok框架提供的注解,可以不显示定义getter, setter
public class Person {
private Integer age;
private String name;
protected Date birthday;
}
其类图为:
类之间的关系
类之间的关系:依赖
、泛化(继承)
、实现
、关联
、聚合
与组合
。
依赖
依赖关系(Dependency)可以简单的理解为一个类A使用到了另一个类B," … uses a …",被依赖的对象只是作为一种工具在使用,而并不持有对它的引用。而这种使用关系是具有偶然性、临时性的、非常弱的,但是B类的变化会影响到A;表现在代码层面,为类B作为参数被类A在某个method(方法)中使用。用带燕尾箭头的虚线表示。表示一个类依赖于另外一个类的定义;依赖关系仅仅描述了类与类之间的一种使用与被使用的关系。
图例:
有这样一个类: