Memento
定義
:
memento
是一個保存另外一個物件內部狀態拷貝的物件。這樣以後就可以將該物件恢復到原先保存的狀態。
Memento
模式相對也比較好理解
,
我們看下列代碼
:
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;
}
}
|
我們再看看
Memento
類別
:
private class Memento implements java.io.Serializable{
private int number;
private File file = null;
public Memento( Originator o){
number = o.number;
file = o.file;
}
}
|
可見
Memento
中保存了
Originator
中的
number
和
file
的值。
通過呼叫
Originator
中
number
和
file
值改變的話
,
通過呼叫
setMemento()
方法可以恢復。
Memento
模式的缺點是耗費大
,
如果內部狀態很多
,
再保存一份
,
無意要浪費大量記憶體。
Memento
模式在
Jsp+Javabean
中的應用
在
Jsp
應用中
,
我們通常有很多表單要求用戶輸入
,
比如用戶註冊
,
需要輸入姓名和
Email
等
,
如果一些表項用戶沒有填寫或者填寫錯誤
,
我們希望在用戶按
"
提交
Submit"
後
,
通過
Jsp
程式檢查
,
發現確實有未填寫專案
,
則在該專案下紅字顯示警告或錯誤
,
同時
,
還要顯示用戶剛才已經輸入的表項。
如下圖中
First Name
是用戶已經輸入
,Last Name
沒有輸入
,
我們則提示紅字警告
.:
這種技術的實現
,
就是利用了
Javabean
的
scope="request"
或
scope="session"
特性
,
也就是
Memento
模式。
具體示例和代碼見
JavaWorld的英文原文
, Javabean
表單輸入特性參見我的另外
一篇文章。
分享到:
相关推荐
C#面向对象设计模式纵横谈(21):(行为型模式) Memento 备忘录模式
C#面向对象设计模式 (行为型模式) Memento 备忘录模式 视频讲座下载
备忘录模式(Memento) 用意:用来存储另一对象内部状态的快照。
设计模式之Memento(备忘机制) 设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter...
设计模式之Memento(备忘机制) 设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter...
这是运用Memento设计模式,设计的一个简单实例, 你可以通过工具栏选择绘制不同图形,使用备份创建备忘录,然后选择恢复进行绘制图形的恢复。 http://blog.csdn.net/ziyuanxiazai123/article/details/12421265
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态。
详细介绍GoF设计模式以及应用... 创建模式:设计模式之Factory,设计模式之Prototype(原型),设计模式之Builder,设计模式之Singleton(单态)....行为模式:设计模式之Template,设计模式之Memento(备忘机制).................
NULL 博文链接:https://edwin492.iteye.com/blog/1124741
C++设计模式课件19_Memento_备忘录.pdfC++设计模式课件19_Memento_备忘录.pdf
主要介绍了设计模式中的Memento备忘录模式的在iOS App开发中的运用,Memento着重于捕获和具体化当前对象的内部状态,需要的朋友可以参考下
备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏封装性的情况下捕获和恢复对象的内部状态。该模式通常用于需要撤销操作或恢复先前状态的情况下。备忘录模式包括三个主要组件:原始对象、备忘录...
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。 备忘录模式java demo
备忘录(Memento)模式又叫作快照(Snapshot)模式或Token模式,是一种对象的行为模式。在备忘录模式里,一个备忘录是一个对象,它存储另一个对象(备忘录的原发器)在某个瞬间的内部状态。备忘的目的就是为了以后在需要...
主要介绍了Java设计模式之备忘录模式(Memento模式)介绍,memento是一个保存另外一个对象内部状态拷贝的对象,这样以后就可以将该对象恢复到原先保存的状态,需要的朋友可以参考下
主要为大家详细介绍了C++设计模式之备忘录模式Memento的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
C#面向对象设计模式纵横谈(21):(行为型模式) Memento 备忘录模式 C#面向对象设计模式纵横谈(22):(行为型模式) State 状态模式 C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式 C#面向对象设计...
主要介绍了php设计模式中的备忘录模式,使用php实现备忘录模式,感兴趣的小伙伴们可以参考一下