软设之访问者模式

设计模式中访问者模式的意图是:

表示一个作用于某对象结构中的各元素的操作,使得在不改变各元素的类的前提下定义作用于这些元素的新操作。

举个例子,比如说有个游客想去几个景点,去每个景点都想按统一的流程。但是每个景点都有各自不同的展示和流程,不可能单独为了这个游客改。这个游客就自己设定一套流程,每个景点对接,这样景点就不用修改了。

Visitor:抽象访问者,为对象结构类中每一个ConcreteElement的类声明一个Visit操作。

ConcreteVisitor:具体访问者,实现每个由Visitor声明的操作

Element:元素,定义一个Accept操作,它以一个访问者为参数

ObjectStructure:对象结构类

相关推荐
优化Henry20 分钟前
学习笔记之VoNR语音业务注册流程
网络·笔记·学习·5g·信息与通信
摇滚侠1 小时前
《RocketMQ 官网》阅读笔记 RocketMQ 订阅 (Subscription)
笔记·rocketmq
风曦Kisaki2 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes
六bring个六2 小时前
git使用笔记
笔记·git
砚凝霜2 小时前
软考网络工程师|第 3 章 以太网帧、物理层标准、VLAN 完整备考笔记
网络·笔记
hanlin032 小时前
刷题笔记:力扣第704、977、209题(数组相关)
笔记·算法·leetcode
workflower3 小时前
情境感知系统
人工智能·机器学习·设计模式·自然语言处理·机器人
摇滚侠4 小时前
《RocketMQ 官网》阅读笔记 RocketMQ 消费者组(Consumer Group)消费者(Consumer)
笔记·rocketmq
hanlin034 小时前
刷题笔记:力扣第19题-删除链表的倒数第N个结点
笔记·leetcode·链表
Micahㅤ4 小时前
【EMC测试报告笔记】报 告里写 CE、骚扰功率、EN55022-MainTermB,到底在测什么?
笔记·emc·电磁兼容性