UML类图

  • 常用的类图元素
  • UML类图的应用
    • 创建型模式
      • 简单工厂模式
      • 工厂方法模式
      • 抽象工厂模式
      • 建造者模式
      • 单例模式模式
    • 结构型模式
      • 适配器模式
      • 桥接模式
      • 装饰模式
      • 门面模式
      • 享元模式
      • 代理模式
    • 结构型模式
      • 命令模式
      • 中介者模式
      • 观察者模式
      • 状态模式
      • 策略模式

常用的类图元素

  • 电脑类图结构为<<abstract>>,表示电脑是一个抽象类;

  • 电脑类有两个继承类分别为平板电脑和台式电脑,电脑类与两个继承类之间的关系为实现关系,使用空心箭头的虚线表示;

  • 平板电脑与MetePad Pro之间也是继承关系的一种,它们之间的关系为泛化关系,使用空心箭头的实线表示;

  • 平板电脑、CPU和屏幕是组合关系使用实心菱形箭头的实线表示;

  • 员工工作需要用到台式电脑,员工与台式电脑是依赖关系使用箭头的虚线表示;

  • 员工与工号是关联关系,使用一根实线表示;

  • 员工与公司是聚合关系,使用空心菱形箭头的实线表示;

UML类图的应用

创建型模式

简单工厂模式

类图说明

  • Product有两个继承类ConcreteProductA和ConcreteProductB,Product与两个继承类是实现关系,使用实心箭头的虚线连接。
  • Factory与ConcreteProduct是依赖关系,使用箭头的虚线连接。

工厂方法模式


类图说明

  • Product有一个继承类ConcreteProduct,Product与继承类是实现关系,使用空心箭头的虚线连接。
  • Factory有一个继承类ConcreteFactory,Factory与继承类是实现关系,使用空心箭头的虚线连接。
  • ConcreteFactory与ConcreteProduct是依赖关系,使用箭头的虚线连接。

抽象工厂模式


类图说明

  • ProductA有两个继承类ConcreteProductA和ConcreteProductB,Product与继承类是实现关系,使用空心箭头的虚线连接。
  • Factory有两个继承类ConcreteFactoryA和ConcreteFactoryB,Factory与继承类是实现关系,使用空心箭头的虚线连接。
  • ConcreteFactoryA、ConcreteProductA和ConcreteProductB是依赖关系,使用箭头的虚线连接。

建造者模式


类图说明

  • Director负责获得并管理所有Builder的实现类,Director与Builder的实现类是聚合关系,使用空心菱形箭头的实线连接。
  • Builder有一个继承类ConcreteBuilder,Builder与继承类是实现关系,使用空心箭头的虚线连接。
  • Product和ConcreteBuilder是依赖关系,使用箭头的虚线连接。

单例模式模式

类图说明

  • Singleton在自己类内部维护一个自己的实例是聚合关系,使用空心菱形箭头的实线连接。

结构型模式

适配器模式

类图说明

  • Client和Target是依赖关系,使用箭头的虚线连接。
  • Adapter和Target是泛化关系,使用空心箭头的实线连接。
  • Adapter和Adaptee是组合关系,使用实心菱形的实线连接。

桥接模式

类图说明

  • Client和Abstraction是依赖关系,使用箭头的虚线连接。
  • RefinedAbstraction继承自Abstraction是泛化关系,使用空心箭头的实线连接。
  • Implementor和Abstraction是组合关系,使用实心菱形箭头的实线连接。
  • Implementor有两个继承类ConcreteImplementorA和ConcreteImplementorB,Implementor与继承类是实现关系,使用空心箭头的虚线连接。

装饰模式

类图说明

  • Component有两个继承类ConcreteComponent和Decorator,Component与继承类是泛化关系,使用空心箭头的实线连接。

  • Decorator与父类Component同时是聚合关系,使用空心菱形箭头的实线连接。

  • Decorator有两个继承类ConcreteDecoratorA和ConcreteDecoratorB,Decorator与继承类是泛化关系,使用空心箭头的实线连接。

门面模式

类图说明

  • Client与Facade是依赖关系,使用箭头的虚线连接。

  • Facade与SubSystemA、SubSystemB、SubSystemC是关联关系,使用一根实线连接。

享元模式

类图说明

  • Flyweight有一个继承类ConcreteFlyweight,与该继承类是实现关系,使用空心箭头的虚线连接。

  • FlyweightFactory与Flyweight是聚合关系,使用空心菱形箭头的实线连接。

代理模式

类图说明

  • Subject有两个继承类Proxy和RealSubject,Subject与该继承类是泛化关系,使用空心箭头的实线连接。

  • Proxy和RealSubject是组合关系使用实心菱形箭头的实线连接。

结构型模式

命令模式

类图说明

  • Client、Receiver和ConcreteCommand之间是关联关系,使用一根实线连接。

  • Client和ConcreteCommand同时是依赖关系,使用箭头的虚线连接。

  • Command有一个继承类ConcreteCommand,Command与继承类之间是实现关系,使用空心箭头的虚线连接。

  • Invoker与Command是聚合关系,使用空心菱形箭头的实线连接。

中介者模式

类图说明

  • Client、Receiver和ConcreteCommand之间是关联关系,使用一根实线连接。

  • Client和ConcreteCommand同时是依赖关系,使用箭头的虚线连接。

  • Command有一个继承类ConcreteCommand,Command与继承类之间是实现关系,使用空心箭头的虚线连接。

  • Invoker与Command是聚合关系,使用空心菱形箭头的实线连接。

观察者模式

类图说明

  • Subject有一个继承类ConcreteSubject,Subject与该继承类是泛化关系,使用空心箭头的实线连接。

  • Subject和Observer是聚合关系,使用空心菱形箭头的实线连接。

  • Observer有一个继承类ConcreteObserver,Observer与继承类之间是实现关系,使用空心箭头的虚线连接。

状态模式

  • 类图说明

  • State有两个继承类ConcreteStateA和ConcreteStateB,State与该继承类是实现关系,使用空心箭头的虚线连接。

  • Context和State是聚合关系,使用空心菱形箭头的实线连接。

策略模式

类图说明

  • Strategy有两个继承类ConcreteStrategyA和ConcreteStrategyB,Strategy与该继承类是泛化关系,使用空心箭头的实线连接。

  • Context和Strategy是聚合关系,使用空心菱形箭头的实线连接。

UML类图绘制_常见设计模式相关推荐

  1. UML类图、JAVA DesignMode 设计模式、设计原则

    全文2.6W余字,读完需要20分钟,介绍23种设计模式,每个模式都有案例与真实使用场景,能够帮助初学者快速了解设计模式,建立起对代码中设计模式的初步理解,要明确:设计模式只是帮助我们更好的设计代码架构 ...

  2. uml类图例子_转:(中文命名)UML类图新手入门级介绍

    下文转于 2019-05-10.2020-03-10 发觉本出自2007 年出版的<大话设计模式>一书(作者: 程杰)第一章.于是将文末原链接删去. 转载注: 中文命名的优势在UML图这样 ...

  3. uml类图工具_三款超级轻量化制图工具!每个不超过2MB,堪称神器!

    hello,大家好!我是大哈,最近搜集了3个超级轻量化的办公神器,个个简洁轻便,都不到2MB,在我们的学习生活中对于某些专业的同学可能经常会用得到,这三款软件能制作流程图.思维导图.UML类图...等 ...

  4. 【系统分析与设计】UML类图绘制方法(真の能看懂~!)

    文章目录 1 类的基本表示方式 2 类之间关系的表示方式 所有的面向对象(Object Oriented)语言都离不开类的概念,理解了程序中类的设计也就理解了程序的一半.但类的具体描述方式在各个类中都 ...

  5. uml类图例子_五分钟带你读懂UML类图

    目录 先看下面这张类图,包括了UML类图的基本图示法 1.类的表示 2.接口的表示 3.继承关系 4.实现接口 5.关联关系 6.聚合关系 7.合成(组合)关系 8.依赖关系 先看下面这张类图,包括了 ...

  6. UML类图概要——《大话设计模式》读书笔记

    先上一张总的UML类图,然后对其中的部分逐个讲解: 类 类图分三层,第一层表示类的名称,如果是斜体(如图中的"动物"),则表示这是一个抽象类. 第二层是类的特性,通常是属性和字段. ...

  7. 设计模式(0):UML类图(Class Diagram)

    文章目录 一. 基本概念 1. 泛化(Generalization) 2. 实现(Realization) 3. 关联(Association) 4. 聚合(Aggregation) 5. 组合(Co ...

  8. 各种设计模式的UML类图

    一.单一职责原则 就一个类而言,应该仅有一个引起它变化的原因. 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力.这种耦合会导致脆弱他的设 ...

  9. Java设计模式—UML类图

    个人感觉总结很好的UML类图,转http://blog.csdn.net/u013467442/article/details/41808501 UML类图几种关系的总结 在UML类图中,常见的有以下 ...

最新文章

  1. 如何在页面加载完成后再去做某事?什么方法可以判断当前页面加载已完成?...
  2. 《基于Node.js实现简易聊天室系列之项目前期工作》
  3. [数据库事务与锁]详解一: 彻底理解数据库事务
  4. Linux显示某文件中有关某字符串的信息
  5. 反思快速完成功能代码
  6. 办公室心理学-九型人格导图
  7. 从基础概念到数学公式,这是一份520页的机器学习笔记(图文并茂)
  8. 从零开始 - iOSRTMP推流篇(1)
  9. 计算机科学与技术文理兼收吗,哪些专业是文理兼收的专业?
  10. 使用XPO过程中的代码优化
  11. 2021-3测试通过:eclipse安装svn插件
  12. 通过Downward API传递pod元数据
  13. 如何连接学校计算机机房的网络,学校电脑室机房管理之网络连接
  14. 育儿书籍阅读顺序的建议
  15. Java实现图表趋势图的展现
  16. 湖北为何迷失在中国互联网版图 应“引凤归巢”
  17. 用 Python 挪车、管理农场,这届 PyCon 有点香
  18. 预测二手车的交易价格
  19. 派克液压泵电控比例放大器
  20. 【Python】如何通过官网下载和安装PythonPyCharm(Windows系统)

热门文章

  1. java基于SSM的宠物医院信息管理系统-计算机毕业设计
  2. chia快速p盘最佳配置linux,ChIa挖矿你需要知道的第一件事,P盘效率的决定性因素...
  3. 【Java】122. 买卖股票的最佳时机 II-----简单代码实现发杂问题
  4. TJA1051T/1参数
  5. 熊掌号指数与排名不是正比关系
  6. 三个人拍顺序c语言,最简单的c程拍序设计.ppt
  7. 基于RFM模型实现的零售精准营销响应预测系统
  8. 离散数学实验2 关联矩阵、相邻矩阵、生成树、环路空间、断集空间的求解 C++
  9. Flutter桌面开发 - windows插件开发
  10. 《计算机网络》期末试卷2020