[JAVA] Erinnerungsmuster

Bereiten Sie eine Klasse vor, die den Status einer bestimmten Klasse dupliziert, und nennen Sie sie Memento. Der Benutzer instanziiert Memento und zeichnet es in einer Sammlung auf, wenn ein Duplikat erstellt wird, und ruft nach Bedarf Instanzen ab.
Memento enthält Mitglieder zum Duplizieren </ font>

Design Pattarm MENU

Überprüfen Sie mit der folgenden Klassenstruktur

Klasse Erläuterung
Origin.class Zu replizierende Klasse
Memento.class Wenn Sie Origin duplizieren, duplizieren Sie Origin-Daten in Memento und speichern Sie Memento
MementoList.class Enthält Sammlungen (Liste, Karte usw.) und speichert Memento-Instanzen
user(Main.class) Überprüfen Sie den Betrieb
  • Benutzer Enthält die Bedeutung, die andere Entwickler für dieses Muster verwenden

Origin.class


class Origin{
  int  No;

  void setNo(int No){
       this.No=No;
  }

  Memento createMemento(){
       return new Memento(No);
  }
}

Memento.class


class Memento{     
  int No;          //Haben Sie das gleiche Feld wie Origin

  Memento(int No){
      this.No=No;
  }

  int getNo(){
      return No;
  }
}

MementoList.class


class MementoList{
  Map  map = new HashMap();

  void put(int key,Memento mmt){
       map.put(key,mmt);
  }
  
  Memento getMemento(int key){
       return (Memento) map.get(key);
  }
}

user(Main.class)


public static void main(String[] args){
  Origin or = new Origin();
  MementoList list = new MementoList();

  or.setNo(1);
     list.put(1,or.createMemento());
  or.setNo(2);
     list.put(2,or.createMemento());

  Memento m1 = list.getMemento(1);
  System.out.println(m1.getNo());
}

Recommended Posts

Erinnerungsmuster
Entwurfsmuster ~ Memento ~
Prototypmuster
Vermittlermuster
Iteratormuster
Zusammengesetztes Muster
Beobachtermuster
Builder-Muster
Brückenmuster
Befehlsmuster
Builder-Muster
Strategiemuster
Iteratormuster
Besuchermuster
Adaptermuster
Proxy-Muster
Strategiemuster
Zusammengesetztes Muster
Singleton-Muster
Singleton-Muster
Prototypmuster
Fassadenmuster
Dekorationsmuster
Fliegengewichtsmuster
Dekorateur Muster
Vermittlermuster
Fassadenmuster
Besuchermuster
Brückenmuster
abstraktes Fabrikmuster
Entwurfsmuster ~ Builder ~
[Java] Strategiemuster
Entwurfsmuster ~ Besucher ~
Java-Entwurfsmuster
Java-Rückrufmuster
Entwurfsmuster ~ Proxy ~
Entwurfsmuster ~ Zustand ~
Factory Method Pattern
Entwurfsmuster ~ Strategie ~
Entwurfsmuster ~ Singleton ~
Entwurfsmuster ~ Composite ~
Entwurfsmuster (2): Builder
Entwurfsmuster (1): AbstractFactory
[Java] Singleton-Muster
Entwurfsmuster ~ Befehl ~
Abstraktes Fabrikmuster
Entwurfsmuster ~ Iterator ~
Entwurfsmuster ~ Fassade ~
Entwurfsmuster ~ Brücke ~
Entwurfsmuster ~ Mediator ~
Muster der Vorlagenmethode
Entwurfsmuster ~ Dekorateur ~
Muster der Vorlagenmethode
Entwurfsmuster ~ Interpreter ~
Factory Method Muster
Entwurfsmuster ~ Beobachter ~
Entwurfsmuster ~ Prototyp ~
[Java] Adaptermuster
Entwurfsmuster ~ Adapter ~
Entwurfsmuster ~ Fliegengewicht ~
Java-Muster-Memo