加载中...

| 类别 | 设计模式 |
| 英文名 | Visitor Pattern |
| 类型 | 行为型模式 |
| 领域 | 软件设计 |
访问者模式(Visitor Pattern)是一种行为型模式,它将作用于某个对象结构中各元素的操作分离出来封装成独立的访问者,使得可以在不改变各元素类的前提下定义作用于这些元素的新操作。
将数据结构与作用于其上的操作解耦,把易变的操作集中到访问者中,方便新增操作而无需修改元素类。
包含抽象访问者(Visitor,为每种元素声明一个 visit 方法)、具体访问者、抽象元素(Element,定义 accept 方法接收访问者)和具体元素。通过「双重分派」机制:元素调用 accept,再回调访问者对应的 visit 方法,从而确定执行哪段逻辑。
优点:新增操作非常方便,符合开闭原则;将相关操作集中,分离无关行为。缺点:元素类不稳定时代价极高,新增元素需修改所有访问者;且访问者需访问元素内部,破坏了封装。

| 类别 | 设计模式 |
| 英文名 | Visitor Pattern |
| 类型 | 行为型模式 |
| 领域 | 软件设计 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧