免責聲明 - 這是學校學期項目的一部分。 我們應該使用Memento模式來保存對象狀態。該對象是MVC中的一個模型。所以,我有它現在(簡體)的方式: public class Model {
// ...
public static class Memento implements Serializable {
protected Stats stats;
爲什麼說Memento在不破壞封裝的情況下完成自己的工作,而我可以實現簡單的方式,但也不會違反封裝? Memento有什麼用途? 我有一個示例程序,它將在用戶按下保存按鈕時保存學生的詳細信息,並在用戶按下撤消按鈕時撤消該操作。下面 示例代碼實現,而無需使用Memento模式: Student.java上述 public class Student
{
private String na
我想在C#(treeview組件)中實現樹的節點的撤銷/重做功能。我已經使用了紀念圖案,但是我在重做部分遇到問題。我看不出我的邏輯有瑕疵。下面是刪除,我呼籲其創建表示當前狀態的新的備忘錄對象SaveMemento()方法的一個節點之前的代碼 private List<Memento> _mementoStateList= new List<Memento>();
private List
我想確認一些我一直試圖理解的東西。 我有兩個方案: 方案1: 我有一個列表存儲在我的類的私人領域,我做它的一個深拷貝,並將其存儲在其他私人領域。這樣做後,我在列表中進行了一些更改,但是我可以選擇恢復其原始狀態。爲此,我將原始列表的副本分配給修改後的副本: Public Class ClassX
Private myList As List(Of Double)
Private
這裏是我的代碼: class Number;
class Memento
{
public:
Memento(int val)
{
_state = val;
}
private:
friend class Number; // not essential, but p287 suggests this
int