首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带模式开关和模式访问者的Java密封类型

带模式开关和模式访问者的Java密封类型
EN

Stack Overflow用户
提问于 2022-01-06 16:07:22
回答 1查看 108关注 0票数 0

An旁白:在java 15之前,为了补救这个问题,人们使用了“类型安全访问者”模式。为了您的理智,我建议不要学习这一点,但是如果您好奇的话,可以查看代码ANTLR生成的代码--所有这些代码都是由不同“形状”的数据结构组成的大层次结构。

资料来源:第2节,。

在使用访问者以避免多个实例的情况下:

  • 使用模式访问者而不是使用带开关模式匹配的密封类型有什么好处?
  • 使用带开关模式匹配类型而不是使用访问者的优势是什么?
  • 我们应该停止使用访问者吗?
EN

回答 1

Stack Overflow用户

发布于 2022-08-28 14:14:34

使用模式访问者而不是使用带开关模式匹配的密封类型有什么好处?

访问者将发送方类与分派类分离。向对象层次结构中添加类并不会修改发送方类,因此它符合OCP原则。它还符合LSP原则,因为它保证了访问方法的实现和安全执行。

使用带开关模式匹配类型的密封而不是访问者的优点是什么?

简约。没有那么多额外的类,添加分派类更容易。它也更容易调试。也不需要对双重调度机制的理解。

我们应该停止使用访问者吗?

不是的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70610012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档