访问者模式 Visitor

发布时间 2023-12-21 08:53:41作者: 梅丹隆

一、定义

  • 封装作用域某数据结构(如List/Set/Map等)中的各元素的操作
  • 可以在不改变各元素类的前提下,定义作用于这些元素的操作

二、适用场景

  • 一个数据结构(如List/Set/Map等)包含很多类型的对象
  • 数据结构和数据操作分离

三、优缺点

1、优点

  1. 增加新的操作很容易,即增加一个新的访问者

2、缺点

  1. 增加新的数据结构困难
  2. 具体元素变更比较麻烦

四、代码实现

https://github.com/Meidanlong/all-in-one/tree/master/design/src/main/java/com/mdl/design/pattern/behavioral/visitor

image.png