设计模式之访问者模式

1. 定义

将算法与其所作用的对象隔离

2. 口语化表述

访问者模式其实就是将具体算法与作用对象分离

举个例子,现在需要使用手机打电话,人已经具备了,就差个手机

不同的手机有不同的操作方式,所以需要人根据具体手机来操作

这就类似于访问者模式,将具体怎么打电话的操作交与人(访问者)来实现

下面的描述会沿用这个上述这个场景

3. 个人理解

笔者认为,访问者其实是一种组合 + 动态注入的设计方法

组合表现在,手机有多种,需要去选择

动态注入表现在,人在拿到手机之后再根据实际进行操作

(希望将具体实现与对象分离)

4. 总结

4.1 设计优点

  • 单一职责原则

    具体算法实现与对象分离

  • 开闭原则

    无需对上下文进行大范围修改就能够修改以有算法

4.2 适用场景

  • 可使用访问者模式来清理的业务逻辑

    将具体算法实现抽离

5. 参考资料

[1] 访问者设计模式 (refactoringguru.cn)

[2] 访问者模式 | 菜鸟教程 (runoob.com)

posted @ 2024-01-29 14:46  当时明月在曾照彩云归  阅读(9)  评论(0编辑  收藏  举报