UML类图绘制_常见设计模式
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类图绘制_常见设计模式相关推荐
- UML类图、JAVA DesignMode 设计模式、设计原则
全文2.6W余字,读完需要20分钟,介绍23种设计模式,每个模式都有案例与真实使用场景,能够帮助初学者快速了解设计模式,建立起对代码中设计模式的初步理解,要明确:设计模式只是帮助我们更好的设计代码架构 ...
- uml类图例子_转:(中文命名)UML类图新手入门级介绍
下文转于 2019-05-10.2020-03-10 发觉本出自2007 年出版的<大话设计模式>一书(作者: 程杰)第一章.于是将文末原链接删去. 转载注: 中文命名的优势在UML图这样 ...
- uml类图工具_三款超级轻量化制图工具!每个不超过2MB,堪称神器!
hello,大家好!我是大哈,最近搜集了3个超级轻量化的办公神器,个个简洁轻便,都不到2MB,在我们的学习生活中对于某些专业的同学可能经常会用得到,这三款软件能制作流程图.思维导图.UML类图...等 ...
- 【系统分析与设计】UML类图绘制方法(真の能看懂~!)
文章目录 1 类的基本表示方式 2 类之间关系的表示方式 所有的面向对象(Object Oriented)语言都离不开类的概念,理解了程序中类的设计也就理解了程序的一半.但类的具体描述方式在各个类中都 ...
- uml类图例子_五分钟带你读懂UML类图
目录 先看下面这张类图,包括了UML类图的基本图示法 1.类的表示 2.接口的表示 3.继承关系 4.实现接口 5.关联关系 6.聚合关系 7.合成(组合)关系 8.依赖关系 先看下面这张类图,包括了 ...
- UML类图概要——《大话设计模式》读书笔记
先上一张总的UML类图,然后对其中的部分逐个讲解: 类 类图分三层,第一层表示类的名称,如果是斜体(如图中的"动物"),则表示这是一个抽象类. 第二层是类的特性,通常是属性和字段. ...
- 设计模式(0):UML类图(Class Diagram)
文章目录 一. 基本概念 1. 泛化(Generalization) 2. 实现(Realization) 3. 关联(Association) 4. 聚合(Aggregation) 5. 组合(Co ...
- 各种设计模式的UML类图
一.单一职责原则 就一个类而言,应该仅有一个引起它变化的原因. 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力.这种耦合会导致脆弱他的设 ...
- Java设计模式—UML类图
个人感觉总结很好的UML类图,转http://blog.csdn.net/u013467442/article/details/41808501 UML类图几种关系的总结 在UML类图中,常见的有以下 ...
最新文章
- 如何在页面加载完成后再去做某事?什么方法可以判断当前页面加载已完成?...
- 《基于Node.js实现简易聊天室系列之项目前期工作》
- [数据库事务与锁]详解一: 彻底理解数据库事务
- Linux显示某文件中有关某字符串的信息
- 反思快速完成功能代码
- 办公室心理学-九型人格导图
- 从基础概念到数学公式,这是一份520页的机器学习笔记(图文并茂)
- 从零开始 - iOSRTMP推流篇(1)
- 计算机科学与技术文理兼收吗,哪些专业是文理兼收的专业?
- 使用XPO过程中的代码优化
- 2021-3测试通过:eclipse安装svn插件
- 通过Downward API传递pod元数据
- 如何连接学校计算机机房的网络,学校电脑室机房管理之网络连接
- 育儿书籍阅读顺序的建议
- Java实现图表趋势图的展现
- 湖北为何迷失在中国互联网版图 应“引凤归巢”
- 用 Python 挪车、管理农场,这届 PyCon 有点香
- 预测二手车的交易价格
- 派克液压泵电控比例放大器
- 【Python】如何通过官网下载和安装PythonPyCharm(Windows系统)
热门文章
- java基于SSM的宠物医院信息管理系统-计算机毕业设计
- chia快速p盘最佳配置linux,ChIa挖矿你需要知道的第一件事,P盘效率的决定性因素...
- 【Java】122. 买卖股票的最佳时机 II-----简单代码实现发杂问题
- TJA1051T/1参数
- 熊掌号指数与排名不是正比关系
- 三个人拍顺序c语言,最简单的c程拍序设计.ppt
- 基于RFM模型实现的零售精准营销响应预测系统
- 离散数学实验2 关联矩阵、相邻矩阵、生成树、环路空间、断集空间的求解 C++
- Flutter桌面开发 - windows插件开发
- 《计算机网络》期末试卷2020