Я реализую функцию отмены/повтора, которая требует от меня использования шаблона памяти.Java - Memento pattern and Undo
Поток частичной программы: «... программа затем сохраняет предыдущий Вектор с использованием Memento Pattern, затем вновь созданный объект будет добавлен в вектор. После этого пользователь может выбрать команду show, чтобы показать, что находится внутри вектора, он также может вводить команду отмены для восстановления, отмена может быть повторена до тех пор, пока она не будет восстановлена в исходное состояние ... »
Из моего исследования я знаю, что будет создатель, памятник и смотритель ,
Вот мой смотритель программа
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;
}
}
К сожалению, мне не удалось идентифицировать «составитель», ни я не знаю, какой из них будет. Является ли этот фрагмент кода правильным шаблоном Memento, если нет оригинатора?