《设计模式》-01-UML类图说明(UML类图,创建类图步骤,类,对象)
1. 概念
1.1 类
类是面向对象软件分析和设计的核心目标。
采用面向对象方法实施软件编码活动的本质是定义类。
- 类
定义了静态代码逻辑,是软件内部对象的泛化(Generalization)类型 - 对象
是类的实例 - 类的关联
是对象协作逻辑的静态表示
1.2 对象
- 依赖对象
可以将被依赖对象作为方法的传入参数、返回参数或局部变量; - 关联对象
通常将被关联对象定义为成员变量或静态引用; - 聚合体对象
一个对象包含多个对象。 - 组合对象
将多个元素作为一个对象来处理
聚合和组合的区别:
- 聚合是一些元素聚在一起,产生和生命周期并无关联。
- 组合是这些元素组成一个整体,同生共死。
2.UML类图
-
类、包、接口、对象
-
单向关联:带箭头的直线(箭尾指向维护关联关系的类)
-
双向关联:直线(省略箭头)
-
依赖(Dependency):用带箭头的虚线标识(箭头指向被依赖的类)
-
聚合(Aggregation):用带空心菱形的直线(菱形指向聚合体类)
-
组合(Composition):用带实心菱形的直线标识(菱形指向聚合体类)
-
继承(Inheritance):带三角形的直线(三角形指向父类)
-
实现(Realization):带三角形的虚线(三角形指向接口)
3. 创建类图步骤
(1)识别类:可以通过对象业务角色或多个对象泛化(或抽象)角色筛选类信息。
(2)识别域和方法:域用于描述类的特征,业务含义依赖于目标类;方法是类的业务行为表达。
(3)抽取类关系:类关系大多是业务关联关系,包括多样性定义、关联名称等。
(4)模型可视化:将类、类关系通过类图的方式进行模型可视化展示。
(5)模型审查与优化:根据需求对可视化模型审查,如提出修改建议,则进入下一阶段模型迭代。
4. 示例
- 需求的领域模型示例
- 表达逻辑代码的设计模型