软设之访问者模式

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

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

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

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

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

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

ObjectStructure:对象结构类

相关推荐
xuhaoyu_cpp_java1 小时前
连接池学习
数据库·经验分享·笔记·学习
wuyikeer2 小时前
Spring Boot 经典九设计模式全览
java·spring boot·设计模式
东京老树根3 小时前
SAP学习笔记 - BTP SAP Build05 - SAP BTP BPA简介,Email Destination Settings(TODO)
笔记·学习
talen_hx2963 小时前
《零基础入门Spark》学习笔记 Day 17
大数据·笔记·学习·spark
北山有鸟3 小时前
Linux第一宏:container_of
笔记·嵌入式硬件·学习
做cv的小昊4 小时前
【TJU】研究生应用统计学课程笔记(2)——第一章 数理统计的基本知识(1.3 统计中常用的分布族)
笔记·线性代数·数学建模·矩阵·概率论·学习方法·抽象代数
ouliten4 小时前
cuda编程笔记(38)--CUDA 异步回调
笔记·cuda
Better Bench4 小时前
《八十天环游地球》阅读笔记
笔记·读书笔记·八十天环游地球
sheeta19984 小时前
LeetCode 每日一题笔记 日期:2026.04.21 题目:1722. 执行交换操作后的最小汉明距离
笔记·算法·leetcode
阿Y加油吧5 小时前
两道 LeetCode 题的复盘笔记:从「只会暴力」到「懂优化」
笔记·算法·leetcode