设计模式之访问者模式
1. 定义
将算法与其所作用的对象隔离
2. 口语化表述
访问者模式其实就是将具体算法与作用对象分离
举个例子,现在需要使用手机打电话,人已经具备了,就差个手机
不同的手机有不同的操作方式,所以需要人根据具体手机来操作
这就类似于访问者模式,将具体怎么打电话的操作交与人(访问者)来实现
(下面的描述会沿用这个上述这个场景)
3. 个人理解
笔者认为,访问者其实是一种组合 + 动态注入的设计方法
组合表现在,手机有多种,需要去选择
动态注入表现在,人在拿到手机之后再根据实际进行操作
(希望将具体实现与对象分离)
4. 总结
4.1 设计优点
-
单一职责原则
具体算法实现与对象分离
-
开闭原则
无需对上下文进行大范围修改就能够修改以有算法
4.2 适用场景
-
可使用访问者模式来清理的业务逻辑
将具体算法实现抽离
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律