MementoPattern(备忘录模式)
2024-10-09 08:13:57
/**
* 备忘录模式
* @author TMAC-J
* 用于存储bean的状态
*/
public class MementoPattern { public class Memento{ private int lifeValue; private int grade; public int getLifeValue() {
return lifeValue;
} public void setLifeValue(int lifeValue) {
this.lifeValue = lifeValue;
} public int getGrade() {
return grade;
} public void setGrade(int grade) {
this.grade = grade;
} } public class Originator{ public Originator(int lifeValue,int grade) {
this.grade = grade;
this.lifeValue = lifeValue;
} private int lifeValue; private int grade; public int getLifeValue() {
return lifeValue;
} public void setLifeValue(int lifeValue) {
this.lifeValue = lifeValue;
} public int getGrade() {
return grade;
} public void setGrade(int grade) {
this.grade = grade;
} public Memento createMemento(){
Memento memento = new Memento();
memento.setGrade(this.grade);
memento.setLifeValue(this.lifeValue);
return memento;
} public void setMemento(Memento memento){
this.lifeValue = memento.getLifeValue();
this.grade = memento.getGrade();
} } public class MementoManage{ private Memento memento; public Memento getMemento() {
return memento;
} public void setMemento(Memento memento) {
this.memento = memento;
} } public void test(){
Originator originator = new Originator(10,10);
Memento memento = originator.createMemento();
originator.setMemento(memento);
} }
最新文章
- Boostrap入门(一)
- Android 无线调试
- JDBC连接数据库演示案例
- python-05
- 以一个权限系统来告别WebForm —开篇
- UITextField属性
- 教你如何利用xml格式的sitemap文件做好SEO
- oracle的存储过程语法(转)
- Java 泛型 泛型代码和虚拟机
- Android Spinner值不显示,选择列表正常
- 初试GH-OST
- Supervisor的安装以及使用
- 20162329张旭升 2018-2019-2《网络对抗技术》第1周 Kali的安装
- 美图App的移动端DNS优化实践:HTTPS请求耗时减小近半
- 网站优化之Apache2.4GZIP功能
- JAVA 泛型方法 和 静态方法泛型
- OSX 10.13 以后实现终端FTP命令(转)
- mariadb的flashback到底怎么样???防误删可以,但算不上真正的闪回--再看mariadb 10.3的System-Versioned Tables
- OpenCV 图像特效
- JXL读取,写入Excel