B10 访问者模式 基础

定义

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

使用场景

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

优点

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

缺点

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

相关设计模式

  • 访问者模式(主要针对数据结构中的元素某种特定的处理) & 迭代器模式(遍历);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。