B10 访问者模式 基础

定义

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

使用场景

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

优点

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

缺点

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

相关设计模式

  • 访问者模式(主要针对数据结构中的元素某种特定的处理) & 迭代器模式(遍历);

你可能感兴趣的:(B10 访问者模式 基础)