Definición: Guarde un cierto estado de un objeto para que el objeto pueda restaurarse en el momento apropiado
Características:
1. Proporcione a los usuarios un mecanismo para restaurar el estado, lo que permite a los usuarios regresar a un determinado estado histórico de manera más conveniente.
2. La información está encapsulada para que los usuarios no necesiten preocuparse por los detalles de la preservación del estado.
Aplicaciones en aplicaciones de nivel empresarial y marcos comunes: los editores de texto comunes usan este modo
Ejemplo:
Nota: En este caso, solo existe la operación de deshacer, sin operación de restauración de reenvío
/*** Objeto de destino: objeto para ser memorizado*/class Word {private String Content; imagen de cadena privada; tabla de cuerdas privadas; Public Word (contenido de cadena, imagen de cadena, tabla de cadena) {super (); this.content = content; this.image = imagen; this.table = table; } public WordMemento Memento () {return New WordMemento (this); } Public void Recovery (WordMemento Mento) {this.content = memento.getContent (); this.image = memento.getImage (); this.table = memento.gettable (); } public String getContent () {return content; } public void setContent (contenido de cadena) {this.content = content; } public String getImage () {imagen de retorno; } public void setImage (imagen de cadena) {this.image = image; } public String getTable () {Tabla de retorno; } public void settable (tabla de cadenas) {this.table = table; }}/*** objeto de memorandum*/class WordMento {Contenido de cadena privada; imagen de cadena privada; tabla de cuerdas privadas; public WordMemento (Word Word) {this.content = word.getContent (); this.image = word.getImage (); this.table = word.gettable (); } public String getContent () {return content; } public void setContent (contenido de cadena) {this.content = content; } public String getImage () {imagen de retorno; } public void setImage (imagen de cadena) {this.image = image; } public String getTable () {Tabla de retorno; } public void settable (tabla de cadenas) {this.table = table; }}/*** Persona a cargo Objeto: Responsable de registrar objeto Memorandum*/Class Caretaker {Lista privada <WordMemento> list = new ArrayList <> (); Private int index = 0; public void setmemento (Wordmento Mento) {list.add (Memento); this.index = list.size (); } public WordMemento getWordMemento () {if (index == 0) {system.out.println ("sin contenido restaurable"); regresar nulo; } Wordmento mento = list.get (index-1); list.remove (index-1); índice--; RETURNE MENTO; }}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.