设计模式总结——访问者模式

把数据结构和操作分离开,使得操作可以自由演化。该模式用于数据结构相对稳定的系统。

也就是说,把操作封装成一个个类,每个操作类都要定义好对每种数据结构的操作。

举个栗子,假设当前有数据结构 A 和 B,操作 1 和操作 2 :

1.创建访问者抽象类 Visitor,定义对数据结构 A, B 的操作方法 HandleA(), HandleB() 。

2.创建具体访问者类 ConcreteVisitor1, ConcreteVisitor2,实现具体方法。

3.创建数据抽象类 Element。定义一个 Accept 方法,该方法接受一个 Visitor 类型的参数 v。

4.创建具体数据类 ConcreteElementA, ConcreteElementB。

  4.1ConcreteElementA 中 ,Accept 调用 v 的 HandleA();

  4.2ConcreteElementB 中 ,Accept 调用 v 的 HandleB();

发布了12 篇原创文章 · 获赞 2 · 访问量 6056

猜你喜欢

转载自blog.csdn.net/qq_19533777/article/details/104250414