Java设计模式_行为型_备忘录模式_大话西游之月光宝盒
来源:互联网 发布:手机淘宝尺码怎么设置 编辑:程序博客网 时间:2024/06/11 07:51
转载请注明出处:http://blog.csdn.net/ljmingcom304/article/details/50434443
本文出自:【梁敬明的博客】
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); }}
0 0
- Java设计模式_行为型_备忘录模式_大话西游之月光宝盒
- Java设计模式_(行为型)_备忘录模式
- 大话西游之设计模式_起手篇
- Java设计模式_(行为型)_责任链模式
- Java设计模式_(行为型)_命令模式
- Java设计模式_(行为型)_迭代模式
- Java设计模式_(行为型)_中介者模式
- Java设计模式_(行为型)_观察者模式
- Java设计模式_(行为型)_状态模式
- Java设计模式_(行为型)_策略模式
- Java设计模式_(行为型)_模版方法模式
- Java设计模式_(行为型)_访问者模式
- Java设计模式_(行为型)_解析器模式
- Java设计模式_行为型_观察者模式_任意行为的监听
- java设计模式_备忘录模式
- java设计模式19_备忘录模式
- 23种设计模式(18)_行为型_备忘录模式(Memento Pattern)
- Java设计模式_行为模式_观察者模式
- repo同步代码过程中,提示gpg: Can't check signature: public key not found
- HTML5本地存储——IndexedDB(二:索引)
- C++ 服务器客户端编程实例(一)
- MySql like模糊查询通配符使用详细介绍
- 关于iOS多线程,你看我就够了
- Java设计模式_行为型_备忘录模式_大话西游之月光宝盒
- swing嵌入ocx或dll影像控件
- 【学习笔记javascript设计模式与开发实践(模板方法模式)----11】
- Eclipse常用插件
- iOS 页面间几种传值方式(属性,代理,block,单例,通知)
- android的MediaPlayer的介绍
- Android5.1 SPI驱动
- cocos-lua Test详解
- 手机淘宝移动端接入网关基础架构演进之路