访问者模式

访问者模式:对于系统中的某些对象,它们存储在同一个集合中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访访问,而且不同的访问者其访问方式也是不同的。

其作用与某对象结构中的各元素的操作,在不改变各元素的前提下定义作用于这些元素的新操作。

访问者角色:抽象元素、具体元素、抽象访问者、具体访问者

优点:在不改变一个集合中元素的类的情况下,增加新的施加于该元素上的新操作

               可以将集合中各个元素的某些操作集中到访问者中,不仅便于集合的维护,也有利于集合中元素的复用

缺点:增加新的元素类很困难

           破坏封装

           违反了依赖倒置原则,依赖了具体类,没有依赖抽象

情景:一个对象结构中,比如某个集合中,包含很多对象,想对集合中的对象增加一些新的操作

           需要对集合中的对象进行很多不同的并且不相关的操作,而我们又不想修改对象的类

           

           

原文地址:https://www.cnblogs.com/cye9971-/p/10596845.html