Java设计模式_行为型_备忘录模式_大话西游之月光宝盒
2015-12-30 14:25
507 查看
转载请注明出处:/article/11557492.html
本文出自:【梁敬明的博客】
对于至尊小宝来说,要想回到过去和未来,首先要拥有一个可以记录人生每一天的月光宝盒。当曾经经历过,那么记录过去发生的一切,回到现在也记录当前的每一天,当需要“菠萝菠萝蜜”的时候,那么就时间倒转。
本文出自:【梁敬明的博客】
1.至尊小宝
大家都看过大话西游之月光宝盒,月光宝盒可以去到五百年后的五岳山,也可以回到五百年前的五指山。但是,月光宝盒这样的宝物是怎么做到的呢?现在让两千年后的我们来创造它,完成千年前的仙履奇缘。对于至尊小宝来说,要想回到过去和未来,首先要拥有一个可以记录人生每一天的月光宝盒。当曾经经历过,那么记录过去发生的一切,回到现在也记录当前的每一天,当需要“菠萝菠萝蜜”的时候,那么就时间倒转。
//月光宝盒 public interface MoonlightBox { } //至尊小宝 public class ZhiZunBao { // 生活中某年的某一天 private String state; // 通过月光宝盒记录当日时间 public MoonlightBox recordTime() { MoonlightBox box = new MyMoonlightBox(this); return box; } // 回到过去或未来的某一天 public void restoreTime(MoonlightBox box) { MyMoonlightBox mybox = (MyMoonlightBox) box; setState(mybox.state); System.out.println("回到" + mybox.getState()); } // 现在的某一天 public void setState(String state) { this.state = state; } // 月光宝盒 private class MyMoonlightBox implements MoonlightBox { // 宝盒中的某一天 private String state; // 记录至尊宝的人生 public MyMoonlightBox(ZhiZunBao zhiZXB) { this.state = zhiZXB.state; } // 回到过去的某一天 public String getState() { return state; } } }
2.大话西游
回到大话西游的世界,五百年前孙悟空被观音收服,月光宝盒记录这发生的一切。五百年后孙悟空托世为至尊小宝,经历人世间的悲欢离合,当上天再给一次机会,通过月光宝盒回到过去,力保唐三藏去西天取经,帮助人们摆脱人世间的苦难。public class DaHuaXiYou { public static void main(String[] args) { // 至尊小宝 ZhiZunBao bao = new ZhiZunBao(); // 五百年前被观音收服 bao.setState("五百年前"); // 月光宝盒记录当时发生的一切 MoonlightBox box = (MoonlightBox) bao.recordTime(); // 五百年后至尊宝与白晶晶的故事 bao.setState("五百年后"); // 摆脱世俗回到五百年前保唐僧西天取经 bao.restoreTime(box); } }
相关文章推荐
- java 学习之路
- 常用算法回顾——冒泡排序
- springmvc注解开发-高级之异常处理
- 40个Java多线程问题总结
- struts2.1.8和hibernate4.3.11整合遇到的问题
- Java I/O模型与NIO解析
- 从头认识java-15.7 Map(1)-使用数组来简单模拟Map的创建
- java相关类型知识学习
- java中map,list一些知识点的总结
- Java和js时间格式化
- Java JDK源码
- Spring使用xml配置bean,主要是constructor-arg
- Spring文件上传配置
- Java常用工具类总结(二)
- day03-----------java 语言基础(基础语法)(传智视频)
- spring与timer的定时任务详解
- [Java开发之路](8)输入流和输出流
- java线程的全面讲解
- java3----java环境---jdk,jre(3)-----jdk和jre的理解3
- Java笔记12:Java对象排序