来填设计模式的坑了,这段时间看了简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式和单例模式,看完后为了加深理解便想着画画这些模式的UML图。先是准备用powerdesigner画的,觉得太丑了,又找到了plantUML,正好在IDEA可以引入该软件的软件,正好,安装plantUML后配置下环境变量:
GRAPHVIZ_HOME:D:\Idea\graphviz\installfile
GRAPHVIZ_DOT:%GRAPHVIZ_HOME%\bin\dot.exe
首先说下UML的基本概念吧,百度里是这么说的:UML(Unified Model Language): 统一建模语言,又称标准建模语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
UML有很多种,这里我就不一一介绍了,百度上有很详细的介绍。一般在工作和学习中常见的有三种:用例图、类图和序列图。
- 用例图:描述用户需求。这个知道就行
- 类图:描述系统的结构。这个要会画
- 序列图:描述系统的行为。这个也要会画
今天先画了GoF五种创建型模式的类图:
工厂方法模式:
抽象工厂模式:
建造者模式:
原型模式:
UML画法:
属性符号:
public:+
private:-
protected:#
internal:i
protected internal:r
关系符号:
<-- 继承或实现(上下)
<- 继承或实现(左右)
<|-- 组合或使用(上下)
<|- 组合或使用(左右)
ps: 箭头所指对象在左或上