【问题标题】:historisation concept / library / framework in java or php?java或php中的历史化概念/库/框架?
【发布时间】:2014-01-03 05:09:52
【问题描述】:

我正在寻找 php 或 java 的历史概念。

想象一下这个用例:

  1. 您在第 1 页
  2. 你删除了一个随机条目
  3. 在第 2 页上,您创建了一个包含随机内容的条目
  4. 在第 3 页上,您在页面上一起删除所有内容
  5. 4 你添加一个随机条目

现在我想“撤消”并返回第 3 步。

有什么东西可以让我有一个很好的开箱即用的历史概念吗?

例如我想你需要一些东西来保持模型作为对基础的一组后续更改。该视图将具有这些更改的计算结果。回去会很容易,只执行一个子集。

【问题讨论】:

  • 看看Memoization设计模式。
  • 让我想起了 something 我从伟大的 Martin Fowler 那里读到的。

标签: java php design-patterns data-structures


【解决方案1】:

如果您需要执行此类操作,则需要记住您执行的操作顺序以及足够的信息,以便将所有内容恢复到每次操作之前系统所处的状态。

实现这一点的最常见方法是使用Command Pattern 表示系统中允许的操作,并确保每个Command 对象都具有execute()undo() 操作。通常,支持这个undo() 还涉及使用Memento Pattern 来保存操作之前的状态,以便可以恢复它。

【讨论】:

    猜你喜欢
    • 2020-04-15
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 2012-02-18
    • 2013-01-03
    相关资源
    最近更新 更多