UML图之类图

https://www.jianshu.com/p/a237f96e2292

 

最近在学习领域驱动设计,重新温习了一下UML图。
定义:
UML是一种面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言,UML使用面向对象的建模工具,但独立于任何程序设计语言

UML绘图规范:

 
image.png

 

事物(主要介绍类class,接口interface,用例usecase,包package)
事物之间的关系:

  • 关联关系
    箭头指向被拥有者(单向关联)


     
    箭头指向被拥有者

    不用箭头的实线(双向关联,例如两个类相互访问)


     
    不用箭头的实线
  • 聚合关系
    是整体与部分的关系(如学生和学生会)
    用空心菱形的实线表示,菱形指向整体,箭头指向个体


     
    聚合关系
  • 组合关系
    也是整体与部分的关系(整体和个体需要有相同的生命周期,比如人的身体和手的关系),组合比聚合更加严格
    用实心菱形的实线表示,菱形指向整体,箭头指向个体


     
    组合关系

-泛化关系
表示一个更泛化的元素和一个具体元素之间的关系,与继承是同一个概念
用空心箭头的实线表示


 
泛化关系
  • 实现关系
    类和接口之间的关系,类实现接口
    用空心箭头的虚线表示,箭头指向接口


     
    实现关系

-依赖关系
如果一个类的改动会影响到另一个类,则这两个类存在依赖关系,一般依赖关系是单向的
用虚线的单向普通箭头表示,箭头指向被依赖者


 
依赖关系

 
关系指向整理
 
类图

类关系记忆技巧
箭头方向:从子类指向父类。
记忆技巧:

  • 1、定义子类是需要通过 extends 关键字指定父类;
  • 2、子类一定是知道父类定义的,但父类并不知道子类的定义;
  • 3、只有知道对方信息时才能指向对方;
  • 4、所以箭头的方向是从子类指向父类。

继承实现:用线条连接两个类。
记忆技巧:

  • 1、空心三角箭头表示继承或实现。
  • 2、实线表示继承,是 is-a 的关系,表示扩展,不虚,很结实;
  • 3、虚线表示实现,虚线代表“虚”无实体。

关联依赖:用线条连接两个类。
记忆技巧:

  • 1、虚线表示依赖关系:临时用一下,若即若离,虚无缥缈,若有若无; 表示一种使用关系,一个类需要借助另一类来实现功能;
    一般是一个类将另一个类作为参数使用,或作为返回值。
  • 2、实线表示关联关系:关系稳定,实打实的关系,铁哥们;
    表示一个类对象和另一个类对象有关联;
    通常是一个类中有另一个类对象作为属性。

组合聚合:用菱形表示。
记忆技巧:

  • 1、菱形就是像是一个盛东西的器皿(比如盘子);
  • 2、聚合:空心菱形,代表空器皿里可以放很多相同的东西,
    聚集在一起(箭头方向所指的类); 整体和局部的关系,两者有独立的生命周期,是 has-a 的关系; 弱关系,消极的词:弱-空。
  • 3、组合:实心菱形,代表器皿里已经有实体结构的存在,生死与共; 整体与局部的关系,和聚合关系对比,关系更加强烈; 两者具有相同的生命周期,contains-a 的关系; 强关系,积极的词:强-满。
    注意:UML 类关系图中,没有实心箭头。
    例子:


     
     


作者:奋斗的韭菜汪
链接:https://www.jianshu.com/p/a237f96e2292
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2023-04-29 10:04  itlover2013  阅读(14)  评论(0编辑  收藏  举报