摘自https://zhuanlan.zhihu.com/p/29874146 写在前面 当你老大扔给你这样的图,或者你需要完成某些功能而去看文档的时候发现以下类似这样的图会不会不(一)知(脸)所(懵)措(逼): (图片来至wikipedia) (图片来至微信内网页支付时序图) (图片来至wikip ...
分类:
其他好文 时间:
2018-12-26 20:55:21
阅读次数:
166
定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化 UML图: Abstraction抽象类:用于定义抽象类的接口,它一般是抽象类而不是接口,其中定义了一个Implementor(实现类接口)类型的对象并可以维护该对象,它与Implementor之间具有关联关系,它既可以包含抽象业务方法,也 ...
分类:
其他好文 时间:
2018-12-24 20:22:57
阅读次数:
165
定义:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求队列或者请求日志以及支持可撤销的操作。 UML图: 结构: 抽象命令接口Command:定义命令的接口,声明执行的方法。 具体的命令对象ConcreteCommand:持有具体的接受者对象,完成具体的具体的命令。 接受者对象R ...
分类:
其他好文 时间:
2018-12-23 22:13:04
阅读次数:
133
定义:迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。 应用场景: 1.访问一个聚合对象的内容而无需暴露它的内部表示 2.支持对聚合对象的多种遍历 3.为遍历不同的聚合结构提供一个统一的接口 UML图 构成: 1 .迭代器角色(Iterato ...
分类:
其他好文 时间:
2018-12-23 22:09:37
阅读次数:
131
一、UML图 关键词:Subject维护一个Observer列表,Subject执行Notify()时就执行列表中的每个Observer的Update()。 二、概念 观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使 ...
分类:
编程语言 时间:
2018-12-19 21:10:24
阅读次数:
178
适用场景:旧系统的改造升级 实际场景:java.io.InputStreamReader(InputStream)等 1.一个被适配的类 2.客户端 3.适配器写法1 适配器写法2 UML图 ...
分类:
其他好文 时间:
2018-12-18 10:53:39
阅读次数:
194
继承(泛化):用实线空心三角箭头表示 实现(接口):用虚线空心三角形箭头标示 依赖:虚线箭头,类A指向类B 方法参数需要传入另一个类的对象,就表示依赖这个类 关联:实线箭头,类A指向类B 一个类的全局变量引用了另一个类,就表示关联了这个类 聚合:尾部为空心菱形的实线箭头(也可以没箭头),类A指向类B ...
分类:
其他好文 时间:
2018-12-17 14:24:18
阅读次数:
160
命令模式:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作,将”发出请求的对象”和”接收与执行这些请求的对象”分隔开来。 角色和职责: 1.Command: 声明执行操作的接口 2.Concrete Command: 具体实现 3.Invoke ...
分类:
其他好文 时间:
2018-12-17 11:33:27
阅读次数:
164
使用LaTeX宏包TikZ-UML绘制UML图形。
分类:
其他好文 时间:
2018-12-16 11:53:10
阅读次数:
105
虚线箭头指向依赖; 实线箭头指向关联; 虚线三角指向接口; 实线三角指向父类; 空心菱形能分离而独立存在,是聚合; 实心菱形精密关联不可分,是组合; 上面是UML的语法。 在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖 ...
分类:
其他好文 时间:
2018-12-15 17:26:43
阅读次数:
178