Wetts's blog

Stay Hungry, Stay Foolish.

0%

设计模式之禅-第25章-访问者模式

访问者模式(Visitor Pattern)

定义:Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.(封装一些作用于某些数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。)


访问者模式的优点:

  • 符合单一职责原则;
  • 优秀的扩展性;
  • 灵活性非常高。

访问者模式的缺点:

  • 具体元素对访问者公开细节;
  • 具体元素角色的增加、删除、修改都是比较困难的;
  • 违背了依赖倒置原则。

访问者模式的使用场景:

  • 业务规则要求遍历多个不同的对象;
  • 充当拦截器角色。