设计模式 - 学习笔记 - UML统一建模语言

设计模式 - 学习笔记 - UML统一建模语言

  • 类图
  • 关系类型
    • 1. 泛化 Generalization
    • 2. 实现 Realization
    • 3. 组合 Combination
    • 4. 聚合 Aggregate
    • 5. 关联 Association
    • 6. 依赖关系 Dependency
    • 以上六种关系的耦合度。强==>弱
  • 横向
  • 参考资料

由于是学习设计模式的准备工作,这里只是学习了一下UML中的类图、关系

类图

属性说明类型非必填
+公共属性: String+号表示publicString
-私有属性: String-号表示privateString
#保护属性: String#号表示protectedString
~默认属性: String~号表示default可省略String
+静态属性: String下划线表示静态,同样适用于类名String
方法说明参数类型返回类型非必填
+公共方法(String): int +号表示publicStringint
-私有方法(String): int-号表示privateStringint
#保护方法(String): int#号表示protectedStringint
抽象方法(String): int斜体号表示抽象,同样适用于类名Stringint

关系类型

classDiagramclassA --|> classB : 继承classC --* classD : classC_1...classC_n 组合为 classD classE --o classF : classE_1...classE_n 聚合为 classF classG --> classH : 单向关联classI <--> classJ : 双向关联 (原文中是无箭头的实线)classK ..> classL : 依赖classM ..|> classN : 接口实现classO .. classP : 关联(虚线)难道是弱关联?没见过

1. 泛化 Generalization

  • 表示从子类到父类,越来越概括的关系(另一个角度从父到子越来越具象)。就理解为继承就好了。
  • 图例说明:实线+三角箭头。(三角箭头没区别)
  • 箭头指向:从子类指向父类

2. 实现 Realization

  • 类实现接口,具体类实现抽象类。
  • 图例说明:虚线+三角箭头。(三角箭头没区别)
  • 箭头指向:从实现类指向接口

3. 组合 Combination

  • 表示整体与部分的关系。紧耦合,部分与整体结合后具有相同的生命周期。类似人体与四肢。
  • 图例说明:实线+实心菱形箭头
  • 箭头指向:从部分指向整体
  • 也有的地方叫复合,比如在 Visio 2016

4. 聚合 Aggregate

  • 表示整体与部分的关系。松散结合类似变形金刚。
  • 图例说明:[普通箭头]+实线+空心菱形箭头。(指向部分普通箭头可省略)
  • 箭头指向:从部分指向整体

5. 关联 Association

  • 表示一种拥有关系,具有方向性。如果A单向访问B则为单向关联。AB互相访问则为双向关联

  • 图例说明:实线+普通箭头。(双向可省略箭头)

  • 箭头指向:从引用方指向被引用方

  • 与依赖的区别:关联关系需要持久化。依赖只是临时调用。

6. 依赖关系 Dependency

  • 自己临时需要借助对方的能力来完成自己的工作。
  • 图例说明:虚线+普通箭头
  • 箭头指向:从自己指向对方(被依赖的目标)

网上很多举例:人啊、水啊、空气啊。。。问题我不是不懂依赖这两个汉字啊。我想知道的是它在编码要干啥?

  • ClassA 依赖 ClassB 表示如下:
  1. A 的方法参数用到 B
  2. A 的属性用到 B
  3. A 调用了 B静态方法or属性

直观的说就是ClassAClassB 的代码写好后,你删了ClassB那么ClassA会报错。
常见的场景:我们的服务层需要注入工具类来完成工作。

以上六种关系的耦合度。强==>弱

从强到弱:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
在这里插入图片描述

横向

参考资料

UML建模之类图(Class Diagram,UML图)
使用Mermaid语法画UML类图


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部