gpt4 book ai didi

design-patterns - 访客模式

转载 作者:行者123 更新时间:2023-12-04 07:20:04 25 4
gpt4 key购买 nike

当我读到访客模式时,它说

Allows for one or more operation to be applied to a set of objects at run-time, decoupling the operations from the object structure.



如果我的假设是正确的,我们将定义一个抽象访问者,其中包含处理每个对象的方法。然后具体的访问者将实现这些方法中的每一个。通过这种方式,我们将处理对象的逻辑从 Object 类分离到访问者实现。

我的疑问是,如果我们只有一个访问者实现,我们真的需要使用这种模式吗?我们不能把实现放在每个Object类中直接调用吗?如果我错过了介于两者之间的内容,请纠正我。

最佳答案

其实你永远不需要使用 这种模式或任何其他模式。如果您使用模式是因为您正在根据您的上下文做出设计选择。

模式文档的几项旨在帮助您做出有关是否使用该模式的明智决定。特别是,检查这些部分:

  • 意图:描述模式背后的目标以及使用它的原因。
  • 动机(力量):由问题和可以使用此模式的上下文组成的场景。
  • 适用性:该模式可用的情况;模式的上下文。
  • 后果:对使用该模式导致的结果、副作用和权衡的描述。

  • 如果您在上下文中受益于对象结构的解耦操作 ,可能是因为以后会有新的操作应用到那些对象上, 该图案将改善您的设计 .如果您处于生命周期有限的小程序的上下文中,则该模式可能是一种开销。

    因此,再次阅读模式文档,检查您的软件上下文,并就是否使用它做出明智的决定。

    关于design-patterns - 访客模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30486709/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com