【问题标题】:Correct implementation of MementoMemento 的正确实现
【发布时间】:2010-10-15 10:58:28
【问题描述】:

在 memento 设计模式中,将 Caretaker 作为 Originator 的聚合是错误的吗?

【问题讨论】:

    标签: design-patterns memento


    【解决方案1】:

    不一定。 Memento 背后的主要目的是可以以统一、透明的方式处理不同的 Originator(获取 Memento,稍后将其传回以恢复状态)。

    聚合关系不一定能阻止这种情况。不同的 Caretaker 实例可能是不同 Originator 的聚合(尽管一个 Caretaker 实例只处理一个 Originator 实例),并且仍然可以获得透明状态恢复的好处。

    【讨论】:

    • 我可以存储在类 Memento 对象的静态变量中吗?
    【解决方案2】:

    不,如果它适合您的情况,那很好。理解看守人的状态不是纪念品中保存的内容的一部分并不是一个很大的飞跃。

    【讨论】:

      猜你喜欢
      • 2019-11-24
      • 2011-09-30
      • 2010-10-05
      • 2018-02-10
      • 2011-10-18
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多