首页下载资源后端Java描述设计模式(24):备忘录模式.zip

ZIPJava描述设计模式(24):备忘录模式.zip

2301_7877294251.64KB需要积分:1

资源文件列表:

Java描述设计模式(24):备忘录模式.zip 大约有72个文件
  1. pom.xml 4.92KB
  2. src/main/java/com/model/design/base/node01/singleton/C01_Singleton.java 871B
  3. src/main/java/com/model/design/base/node01/singleton/C02_Singleton.java 928B
  4. src/main/java/com/model/design/base/node01/singleton/C03_Singleton.java 787B
  5. src/main/java/com/model/design/base/node01/singleton/C04_Singleton.java 1.31KB
  6. src/main/java/com/model/design/base/node01/singleton/C05_Singleton.java 838B
  7. src/main/java/com/model/design/base/node01/singleton/C06_Singleton.java 543B
  8. src/main/java/com/model/design/base/node01/singleton/C07_Singleton.java 430B
  9. src/main/java/com/model/design/base/node02/factory/C01_InScene.java 1.5KB
  10. src/main/java/com/model/design/base/node02/factory/C02_SimpleFactory.java 1.58KB
  11. src/main/java/com/model/design/base/node03/factoryMethod/C01_FactoryMethod.java 3.41KB
  12. src/main/java/com/model/design/base/node04/abstractFactory/C01_AbstractFactory.java 3KB
  13. src/main/java/com/model/design/base/node05/property/C01_Property.java 1.59KB
  14. src/main/java/com/model/design/base/node05/property/C02_DeepClone.java 1.69KB
  15. src/main/java/com/model/design/base/node06/builder/C01_InScene.java 2.42KB
  16. src/main/java/com/model/design/base/node06/builder/C02_Builder.java 1.69KB
  17. src/main/java/com/model/design/base/node07/adapter/C01_InScene.java 707B
  18. src/main/java/com/model/design/base/node07/adapter/C02_AdapterClass.java 476B
  19. src/main/java/com/model/design/base/node07/adapter/C03_AdapterObject.java 662B
  20. src/main/java/com/model/design/base/node07/adapter/C04_AdapterInte.java 801B
  21. src/main/java/com/model/design/base/node08/bridge/C01_InScene.java 2.14KB
  22. src/main/java/com/model/design/base/node08/bridge/C02_Bridge.java 1.08KB
  23. src/main/java/com/model/design/base/node09/decorator/C01_InScene.java 1.56KB
  24. src/main/java/com/model/design/base/node09/decorator/C02_Decorator.java 1.27KB
  25. src/main/java/com/model/design/base/node10/composite/C01_InScene.java 1.06KB
  26. src/main/java/com/model/design/base/node10/composite/C02_Security_Model.java 2.96KB
  27. src/main/java/com/model/design/base/node10/composite/C03_Transparent_Model.java 3.73KB
  28. src/main/java/com/model/design/base/node11/observer/C01_Observer_Push.java 2.43KB
  29. src/main/java/com/model/design/base/node11/observer/C02_Observer_Pull.java 2.81KB
  30. src/main/java/com/model/design/base/node11/observer/C03_Observer_JDK.java 1.05KB
  31. src/main/java/com/model/design/base/node12/facade/C01_InScene.java 1.39KB
  32. src/main/java/com/model/design/base/node12/facade/C02_Facade.java 971B
  33. src/main/java/com/model/design/base/node13/iterator/C01_Iterator.java 1.89KB
  34. src/main/java/com/model/design/base/node13/iterator/C02_ArrayList.java 484B
  35. src/main/java/com/model/design/base/node14/interpreter/C01_InScene.java 2.29KB
  36. src/main/java/com/model/design/base/node15/chain/C01_InScene.java 2.41KB
  37. src/main/java/com/model/design/base/node15/chain/C02_Chain.java 1.25KB
  38. src/main/java/com/model/design/base/node16/proxy/C01_InScene.java 1.39KB
  39. src/main/java/com/model/design/base/node16/proxy/C02_Proxy.java 808B
  40. src/main/java/com/model/design/base/node16/proxy/C03_JdkProxy.java 1.92KB
  41. src/main/java/com/model/design/base/node17/mediator/C01_InScene.java 1.76KB
  42. src/main/java/com/model/design/base/node17/mediator/C02_Mediator.java 1.4KB
  43. src/main/java/com/model/design/base/node18/flyweight/C01_InScene.java 267B
  44. src/main/java/com/model/design/base/node18/flyweight/C02_FlyWeight.java 1.54KB
  45. src/main/java/com/model/design/base/node18/flyweight/C03_Integer.java 556B
  46. src/main/java/com/model/design/base/node19/template/C01_InScene.java 1.04KB
  47. src/main/java/com/model/design/base/node19/template/C02_Template.java 843B
  48. src/main/java/com/model/design/base/node20/command/C01_InScene.java 1.15KB
  49. src/main/java/com/model/design/base/node20/command/C02_Command.java 1.22KB
  50. src/main/java/com/model/design/base/node21/state/C01_InScene.java 1.95KB
  51. src/main/java/com/model/design/base/node21/state/C02_State.java 1.06KB
  52. src/main/java/com/model/design/base/node22/strategy/C01_InScene.java 1.43KB
  53. src/main/java/com/model/design/base/node22/strategy/C02_Strategy.java 1.06KB
  54. src/main/java/com/model/design/base/node23/visitor/C01_InScene.java 1.93KB
  55. src/main/java/com/model/design/base/node23/visitor/C02_Visitor.java 1.93KB
  56. src/main/java/com/model/design/base/node24/memento/C01_InScene.java 2.7KB
  57. src/main/java/com/model/design/base/node24/memento/C02_Memento.java 1.58KB
  58. src/main/java/com/model/design/spring/node01/singleton/SpringTest.java 1.01KB
  59. src/main/java/com/model/design/spring/node01/singleton/UserBean.java 259B
  60. src/main/java/com/model/design/spring/node03/factoryMethod/CarEntity.java 974B
  61. src/main/java/com/model/design/spring/node03/factoryMethod/CarFactory.java 124B
  62. src/main/java/com/model/design/spring/node03/factoryMethod/ProductCar.java 517B
  63. src/main/java/com/model/design/spring/node03/factoryMethod/SpringTest.java 632B
  64. src/main/java/com/model/design/spring/node04/abstractFactory/CarBean.java 236B
  65. src/main/java/com/model/design/spring/node04/abstractFactory/SpringTest.java 1.14KB
  66. src/main/java/com/model/design/spring/node05/property/Sheep.java 577B
  67. src/main/java/com/model/design/spring/node05/property/SpringTest.java 841B
  68. src/main/java/com/model/design/spring/node14/interpreter/SpringTest.java 499B
  69. src/main/resources/spring/spring-abstract-factory.xml 1.72KB
  70. src/main/resources/spring/spring-factorymethod.xml 1.8KB
  71. src/main/resources/spring/spring-property.xml 1.66KB
  72. src/main/resources/spring/spring-singleton.xml 1.52KB

资源介绍:

Java描述设计模式(24):备忘录模式
package com.model.design.base.node10.composite; import java.util.ArrayList; import java.util.List; /** * 组合模式-透明式 */ public class C03_Transparent_Model { public static void main(String[] args) { Component1 root = new Composite1("服装"); Component1 c1 = new Composite1("男装"); Component1 c2 = new Composite1("女装"); Component1 leaf1 = new Leaf1("衬衫"); Component1 leaf2 = new Leaf1("夹克"); Component1 leaf3 = new Leaf1("裙子"); Component1 leaf4 = new Leaf1("套装"); root.addChild(c1); root.addChild(c2); c1.addChild(leaf1); c1.addChild(leaf2); c2.addChild(leaf3); c2.addChild(leaf4); root.printStruct(""); } } abstract class Component1 { /** * 输出组件自身的名称 */ public abstract void printStruct(String preStr); // 聚集管理方法,增加一个子构件对象 public void addChild(Component1 child){ /** * 缺省实现,抛出异常,因为叶子对象没有此功能 * 或者子组件没有实现这个功能 */ throw new UnsupportedOperationException("对象不支持此功能"); } // 聚集管理方法,删除一个子构件对象 public void removeChild(int index){ /** * 缺省实现,抛出异常,因为叶子对象没有此功能 * 或者子组件没有实现这个功能 */ throw new UnsupportedOperationException("对象不支持此功能"); } // 聚集管理方法,返回所有子构件对象 public List getChild(){ /** * 缺省实现,抛出异常,因为叶子对象没有此功能 * 或者子组件没有实现这个功能 */ throw new UnsupportedOperationException("对象不支持此功能"); } } class Composite1 extends Component1 { // 用来存储组合对象中包含的子组件对象 private List childComponents = new ArrayList(); // 输出对象名称 private String name ; public Composite1 (String name){ this.name = name; } /** * 聚集管理方法,增加一个子构件对象 * @param child 子构件对象 */ public void addChild(Component1 child){ childComponents.add(child); } /** * 聚集管理方法,删除一个子构件对象 * @param index 子构件对象的下标 */ public void removeChild(int index){ childComponents.remove(index); } // 聚集管理方法,返回所有子构件对象 public List getChild(){ return childComponents ; } /** * 输出对象的自身结构 * @param preStr 前缀,主要是按照层级拼接空格,实现向后缩进 */ @Override public void printStruct(String preStr) { // 首先输出自己名称 System.out.println(preStr+"+"+this.name); // 如果还包含有子组件,那么就输出这些子组件对象 preStr = preStr + " "; if (this.childComponents != null) { // 添加两个空格,表示向后缩进 for (Component1 c : childComponents) { ////递归输出每个子对象 c.printStruct(preStr); } } } } class Leaf1 extends Component1 { private String name; public Leaf1 (String name){ this.name = name; } /** * 输出叶子对象的结构,叶子对象没有子对象,也就是输出叶子对象的名字 * @param preStr 前缀,主要是按照层级拼接的空格,实现向后缩进 */ @Override public void printStruct(String preStr) { System.out.println(preStr+"-"+name); } }
100+评论
captcha