UML是什么?
UML(统一建模语言,Unified Modeling Language)是一种广泛使用的建模语言,主要用于软件工程领域。它提供了一套图形化的表示法,用于描述、设计和文档化软件系统的各个方面。UML 被设计为一种通用的建模语言,可以应用于各种编程语言和开发过程。主要讲一下最常用到的类图和时序图:
- 类图(Class Diagram)展示了系统中类的结构和类之间的关系,如继承、关联、依赖和实现。
- 时序图(Sequence Diagram)是一种展示对象间交互过程的图,它重点描述了系统中不同对象如何通过消息传递协作来完成某个功能或任务。
类图
类图的形式
通常是三层,+表示public,-表示private
类之间的关系
主要包括六类,其中关系的耦合紧密程度由强到弱的顺序依次是:实现 > 继承 > 组合 > 聚合 > 关联 > 依赖。
实现关系
Shape是一种抽象,Rectangle是Shape的一个实例。
继承(泛化)关系
Employee是一个实例,Developer是Employee其中的一种
组合关系
Heart的Man的一部分,Man没有了Heart就不是Man,Man完全控制Heart生命周期,Heart离开了Man不能存活。
聚合关系
Engine是Car的一部分,Car没有了Engine就是废铁不能成为Car,但Car又不控制Engine的生命周期,Engine可以单独存活。
关联关系
Order和Product存在一定的联系,但没有紧密到不可分割。实际意义上Order应该有Product,但即使没有Product,Order也还是Order。
依赖关系
ShoppingCart是一个实例,PaymentProcessor也是一个实例,ShoppingCart只是在某一时刻会借助PaymentProcessor去完成一个临时任务,其它时刻二者独立存在。