Java - wzór Memento i Undo

Wdrażam funkcję cofania / ponawiania, która wymaga użycia wzorca memento.

Przepływ programu częściowego: „... program następnie przechowuje poprzedni wektor za pomocą wzorca Memento, następnie nowo utworzony obiekt zostanie dodany do wektora. , może również wprowadzić polecenie Cofnij, aby przywrócić, cofnięcie można powtórzyć, dopóki nie zostanie przywrócone do pierwotnego stanu ... ”

Z moich badań wiem, że powstanie pomysłodawca, pamiątka i dozorca.

Oto mój program dozorcy

public class CareTaker {
      private Memento m;
      private Stack s;
      private Vector v;
      // Some of the implementation are not shown

      public void create() {
            // Some of the implementation are not shown
            // Assuming Vector is named "v"
            // Passing Vector to memento
            m = new Memento(v);
            s.add(m);
      }
      public void undo() {
          v = s.pop().restore();
      }
}
public class Memento {
    private Vector _v;
    public Memento(Vector v) {
      _v = v;
    }
    public Vector restore() {
      return _v;
    }
}

Niestety nie udało mi się zidentyfikować „inicjatora” ani nie wiem, który będzie. Czy ten fragment kodu jest poprawnym wzorem Memento, jeśli nie ma inicjatora?

questionAnswers(1)

yourAnswerToTheQuestion