第17章 访问者模式与多重分发

访问者模式是另一种经典的面向对象设计模式,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 在其著作《设计模式 —— 可复用面向对象软件的基础》中提出的23种模式之一。在面向对象编程的黄金时代,曾是最受欢迎的模式,因为可用于提高大型类型层次结构的可维护性。近年来,随着大型复杂层次结构变得不那么普遍,以及访问者模式本身实现起来相当复杂,其在C++中的使用有所减少。然而,泛型编程 —— 特别是C++11和C++14中添加的语言特性 —— 使得实现和维护访问者类变得更加容易,同时该旧模式的新应用也重新激发了人们对它的兴趣。

本章将涵盖以下主题:

本章的示例代码可在以下GitHub链接找到:https://github.com/PacktPublishing/Hands-On-Design-Patterns-with-CPP-Second-Edition/tree/main/Chapter17