设计模式笔记:如何实现访问者模式?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2744个文字,预计阅读时间需要11分钟。
访问者模式(Visitor Pattern)旨在将作用于数据结构的各种操作分离出来,封装到单独的类中。这种模式使得数据结构及其操作可以独立地变化,增加新的操作而不需要修改数据结构本身。以下是对该模式的简要
将数据结构中各元素的特定操作抽象为独立的类,以实现数据结构与操作之间的解耦。这样,在不改变数据结构的前提下,可以灵活地添加新的操作到这些元素上。
访问者模式(Visitor Pattern)指将作用域某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作。借用《Java设计模式》中的例子说明:在医院医生开具药单后,划价人员拿到药单后会根据药单上的药品名称和数量计算总价,而药房工作人员则根据药品名称和数量准备药品。如下图所示:
那么药品处方可以看成是一个药品信息的集合,里面包含了一种或多种不同类型的药品信息,不同类型的工作人员在操作统一药品信息集合时将提供不同的处理方式,而且可能还会增加新类型的工作人员来操作处方单。这就是访问者模式的典型应用场景。
一、访问者模式介绍 1.1 访问者模式的结构访问者模式是一种较为复杂的行为型模式,它包含访问者(Visitor)和被访问元素(Element)两个主要组成部分。
本文共计2744个文字,预计阅读时间需要11分钟。
访问者模式(Visitor Pattern)旨在将作用于数据结构的各种操作分离出来,封装到单独的类中。这种模式使得数据结构及其操作可以独立地变化,增加新的操作而不需要修改数据结构本身。以下是对该模式的简要
将数据结构中各元素的特定操作抽象为独立的类,以实现数据结构与操作之间的解耦。这样,在不改变数据结构的前提下,可以灵活地添加新的操作到这些元素上。
访问者模式(Visitor Pattern)指将作用域某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作。借用《Java设计模式》中的例子说明:在医院医生开具药单后,划价人员拿到药单后会根据药单上的药品名称和数量计算总价,而药房工作人员则根据药品名称和数量准备药品。如下图所示:
那么药品处方可以看成是一个药品信息的集合,里面包含了一种或多种不同类型的药品信息,不同类型的工作人员在操作统一药品信息集合时将提供不同的处理方式,而且可能还会增加新类型的工作人员来操作处方单。这就是访问者模式的典型应用场景。
一、访问者模式介绍 1.1 访问者模式的结构访问者模式是一种较为复杂的行为型模式,它包含访问者(Visitor)和被访问元素(Element)两个主要组成部分。

