访问者模式

访问者模式

定义

Represent an operation to be performed on the elements of of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates;

封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作;

分析

同组合模式以及迭代器模式一样,访问者模式也是一种访问数据的模式;

面向对象程序设计的一大特点就是让“计算离数据更近一些”;但是面对同样的数据,不同的情况下需要不同的读取或者展现方式,访问者模式所封装的正是对数据的展现方式。

所以,在该模式中,数据+展现方式是重点;这里需要注意的是,访问者模式封装的其实一种对数据的处理方式;当然数据本身应该提供基础数据的获取方式,而将数据的处理交给访问者;

实现

访问者模式

体现的面向对象程序设计原则

单一职责原则:Visitor负责处理数据,Element负责承载数据;

依赖倒置原则:具体的Element依赖抽象的Visitor;

里氏替换原则:同上;

接口隔离原则:并无体现;

迪米特原则:Client依赖抽象的Visitor,对其如何访问对象基本上一无所知;

开闭原则:Visitor的设计具有很高的灵活性;

关注个人微信公众号落花流水存心阁,不仅能免费获得相关项目的源码,还可以扩展思维,启迪智慧哦~
落花流水存心阁
后台回复:设计模式。获得项目源码~(如果从聚宝盆里获得资源后便狠心离去,那么聚宝盆将因难过而沉睡过去,无法为您提供宝贝了。。。除非唤醒它!)

如果觉得文章写的不错,也可以小小地打赏一下嘛~
也期待合作,“码”上改变~

微信账号 支付宝账号
在这里插入图片描述 在这里插入图片描述