Heim >Java >javaLernprogramm >Einführung in das Java Design Pattern Memento Pattern

Einführung in das Java Design Pattern Memento Pattern

高洛峰
高洛峰Original
2017-01-19 15:44:331294Durchsuche

Memento-Definition: Memento ist ein Objekt, das eine Kopie des internen Zustands eines anderen Objekts speichert, sodass das Objekt in Zukunft in seinen ursprünglichen gespeicherten Zustand zurückversetzt werden kann.

Der Memento-Modus ist relativ einfach zu verstehen:

public class Originator {
   private int number;
  private File file = null;
  public Originator(){}
  // 创建一个Memento
  public Memento getMemento(){
    return new Memento(this);
  }
  // 恢复到原始值
  public void setMemento(Memento m){
     number = m.number;
     file = m.file;
  }
}

Schauen wir uns noch einmal die Memento-Klasse an:

private class Memento implements java.io.Serializable{
  private int number;
  private File file = null;
  public Memento( Originator o){
    number = o.number;
    file = o.file;
  }
}

Das kann Es ist ersichtlich, dass der Urheber in Memento gespeichert ist. Der Wert von Nummer und Datei ist in . Wenn die Nummern- und Dateiwerte im Originator geändert werden, können sie durch Aufruf der setMemento()-Methode wiederhergestellt werden.

Der Nachteil des Memento-Modus besteht darin, dass er teuer ist. Wenn es viele interne Zustände gibt, wird das Speichern einer weiteren Kopie viel Speicher verschwenden.

Anwendung des Memento-Musters in Jsp+Javabean

In Jsp-Anwendungen haben wir normalerweise viele Formulare, die Benutzereingaben erfordern, wie z. B. Benutzerregistrierung, Name und E-Mail usw., wenn einige Tabellenelemente vorhanden sind Der Benutzer hat nichts ausgefüllt oder ist falsch ausgefüllt, nachdem der Benutzer auf „Senden“ geklickt und das Jsp-Programm überprüft und festgestellt hat, dass tatsächlich nicht ausgefüllte Elemente vorhanden sind. Unter dem Element wird eine Warnung oder ein Fehler angezeigt Gleichzeitig wird auch der gerade vom Benutzer eingegebene Tabelleneintrag angezeigt.

Im Bild unten wurde der Vorname vom Benutzer eingegeben, aber der Nachname wurde nicht eingegeben. Wir werden eine rote Textwarnung auslösen

Einführung in das Java Design Pattern Memento Pattern

Die Implementierung dieser Technologie besteht darin, die Scope="request"- oder Scope="session"-Eigenschaften von Javabeans zu verwenden, die das Memento-Muster sind.

Weitere Artikel zur Einführung des Memento-Modus (Memento-Modus) in Java-Entwurfsmustern finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn