访问者模式
2019-04-25 本文已影响0人
yym_439
定义
- 封装作用于某数据结构(List/Set/Map)中的各元素的操作
- 可以在改变各元素的类的前提下,定义作用于这些元素 的操作
类型:行为型
使用场景
- 一个数据结构(List/Set/Map)包含很多类型的对象(不同类型继承同一个父类)
- 数据结构与数据操作分离
- 不同的访问者对相同的数据(不同类型继承同一个父类)产生不同的操作行为
优缺点
优点:
- 增加新的操作很容易,即增加一个新的访问者
缺点:
- 增加新的数据结构困难
- 具体元素变更比较麻烦
image.pngUML类图