复习UML,各种图各有用途,但最核心、最需要下功夫理解的,无疑是类图。它直接决定了代码的结构和质量。
UML图快速回顾
结构图(静态):描述系统由什么组成,如类图、组件图。
行为图(动态):描述系统如何工作,如用例图、序列图、状态图。
简单来说,先用用例图搞清需求,然后用类图搭建骨架,最后用序列图等描述运行过程。
类图:面向对象的设计蓝图
类图是系统静态结构的直观展示,是团队沟通和编码的直接依据。
- 类的三部分
一个类矩形分三格:
类名(如:Student)
属性(如:- name: String)
操作(如:+ study(): void) - 核心:搞懂四种关系
类图的精髓在于理清类与类之间的关系。
依赖 (<----- 虚线箭头)
理解:临时使用,关系最弱。比如A类的方法参数是B类。
代码:局部变量、方法参数。
口诀:Use a
关联 (---- 实线)
理解:长期拥有,关系稳定。通常作为成员变量。
代码:类的属性。
口诀:Has a
两种强化版:
聚合 (<>---- 空心菱形):整体和部分可独立(如:汽车和轮胎)。
组合 (<◆>---- 实心菱形):整体和部分同生共死,关系更紧密(如:公司和部门)。
泛化 (<|---- 带三角实线)
理解:就是继承。
代码:extends
口诀:Is a
实现 (<|---- 带三角虚线)
理解:实现接口。
代码:implements
最重要的一点心得
别把画类图当成负担。它的主要价值是在写代码前,帮你和团队想清楚设计