首页下载资源行业研究设计模式学习总结-java版.zip

ZIP设计模式学习总结-java版.zip

pingguocu31.63MB需要积分:1

资源文件列表:

设计模式学习总结-java版.zip 大约有209个文件
  1. DesignPattern-master/装饰器模式/DecorateTest.java 690B
  2. DesignPattern-master/装饰器模式/Milk.java 348B
  3. DesignPattern-master/装饰器模式/Soy.java 346B
  4. DesignPattern-master/装饰器模式/DarkRoast.java 199B
  5. DesignPattern-master/装饰器模式/装饰者模式.png 58.26KB
  6. DesignPattern-master/装饰器模式/Espresso.java 192B
  7. DesignPattern-master/装饰器模式/java.io类.png 37KB
  8. DesignPattern-master/装饰器模式/装饰器模式介绍.docx 14.98KB
  9. DesignPattern-master/装饰器模式/HouseBlend.java 202B
  10. DesignPattern-master/装饰器模式/CondimentDecorator.java 192B
  11. DesignPattern-master/装饰器模式/Whip.java 352B
  12. DesignPattern-master/装饰器模式/Beverage.java 892B
  13. DesignPattern-master/装饰器模式/Decaf.java 186B
  14. DesignPattern-master/装饰器模式/Mocha.java 354B
  15. DesignPattern-master/适配器模式/DuckAdapter.java 1.1KB
  16. DesignPattern-master/适配器模式/实例二/适配器模式实例二.png 30.52KB
  17. DesignPattern-master/适配器模式/实例二/EnumerationIterator.java 496B
  18. DesignPattern-master/适配器模式/实例二/IteratorEnumeration.java 429B
  19. DesignPattern-master/适配器模式/AdapterTest.java 761B
  20. DesignPattern-master/适配器模式/MallardDuck.java 226B
  21. DesignPattern-master/适配器模式/TurkeyAdapter.java 409B
  22. DesignPattern-master/适配器模式/WildTurkey.java 253B
  23. DesignPattern-master/适配器模式/适配器模式实例.png 35.62KB
  24. DesignPattern-master/适配器模式/适配器模式介绍.docx 15.06KB
  25. DesignPattern-master/适配器模式/Duck.java 108B
  26. DesignPattern-master/适配器模式/Turkey.java 109B
  27. DesignPattern-master/适配器模式/适配器模式.png 28.7KB
  28. DesignPattern-master/策略模式/实例-行为参数化/一个更加抽象的方案.docx 12.27KB
  29. DesignPattern-master/策略模式/实例-行为参数化/AppleWeightPredicate.java 165B
  30. DesignPattern-master/策略模式/实例-行为参数化/AppleTest.java 1.78KB
  31. DesignPattern-master/策略模式/实例-行为参数化/Predicate.java 157B
  32. DesignPattern-master/策略模式/实例-行为参数化/AppleColorPredicate.java 173B
  33. DesignPattern-master/策略模式/实例-行为参数化/Apple.java 538B
  34. DesignPattern-master/策略模式/RedHeadDuck.java 285B
  35. DesignPattern-master/策略模式/FlyBehavior.java 132B
  36. DesignPattern-master/策略模式/策略模式.png 93.17KB
  37. DesignPattern-master/策略模式/Quack.java 154B
  38. DesignPattern-master/策略模式/QuackBehavior.java 137B
  39. DesignPattern-master/策略模式/StrategyTest.java 629B
  40. DesignPattern-master/策略模式/Squeak.java 156B
  41. DesignPattern-master/策略模式/FlyNoWay.java 160B
  42. DesignPattern-master/策略模式/FakeQuack.java 157B
  43. DesignPattern-master/策略模式/策略模式介绍.docx 14.82KB
  44. DesignPattern-master/策略模式/Duck.java 1.68KB
  45. DesignPattern-master/策略模式/FlyWithWings.java 164B
  46. DesignPattern-master/策略模式/RubberDuck.java 274B
  47. DesignPattern-master/组合模式/介绍.docx 40.21KB
  48. DesignPattern-master/组合模式/组合模式介绍.docx 14.28KB
  49. DesignPattern-master/组合模式/MenuComponent.java 1.21KB
  50. DesignPattern-master/组合模式/Menu.java 1.55KB
  51. DesignPattern-master/组合模式/组合模式.png 90.37KB
  52. DesignPattern-master/组合模式/MenuItem.java 1.41KB
  53. DesignPattern-master/组合模式/CompositeIterator.java 1.12KB
  54. DesignPattern-master/组合模式/NullIterator.java 362B
  55. DesignPattern-master/组合模式/Waitress.java 809B
  56. DesignPattern-master/组合模式/CompositeTest.java 2.9KB
  57. DesignPattern-master/单例模式/Singleton2.java 598B
  58. DesignPattern-master/单例模式/Singleton.java 1.92KB
  59. DesignPattern-master/单例模式/单例模式介绍.docx 15.3KB
  60. DesignPattern-master/代理模式/PersonBean.java 567B
  61. DesignPattern-master/代理模式/代理模式.png 62.65KB
  62. DesignPattern-master/代理模式/ProxyTest.java 2.54KB
  63. DesignPattern-master/代理模式/ProxySimpleFactory.java 1.1KB
  64. DesignPattern-master/代理模式/PersonBeanImpl.java 1.02KB
  65. DesignPattern-master/代理模式/NonOwnerInvocationHandler.java 1.2KB
  66. DesignPattern-master/代理模式/OwnerInvocationHandler.java 1.18KB
  67. DesignPattern-master/代理模式/代理模式介绍.docx 14.66KB
  68. DesignPattern-master/代理模式/虚拟代理/ImageComponent.java 537B
  69. DesignPattern-master/代理模式/虚拟代理/VirtualProxyTest.java 2.46KB
  70. DesignPattern-master/代理模式/虚拟代理/ImageProxy.java 1.41KB
  71. DesignPattern-master/代理模式/虚拟代理/虚拟代理.png 24.45KB
  72. DesignPattern-master/命令模式/CommandTest.java 594B
  73. DesignPattern-master/命令模式/LightOnCommand.java 327B
  74. DesignPattern-master/命令模式/MacroCommand.java 467B
  75. DesignPattern-master/命令模式/命令模式介绍.docx 14.16KB
  76. DesignPattern-master/命令模式/Command.java 198B
  77. DesignPattern-master/命令模式/Light.java 568B
  78. DesignPattern-master/命令模式/LightOffCommand.java 329B
  79. DesignPattern-master/命令模式/RemoteControl.java 1.71KB
  80. DesignPattern-master/命令模式/NoCommand.java 247B
  81. DesignPattern-master/命令模式/CeilingFan.java 814B
  82. DesignPattern-master/命令模式/CeilingFanOffCommand.java 622B
  83. DesignPattern-master/命令模式/CeilingFanHighCommand.java 685B
  84. DesignPattern-master/命令模式/CeilingFanMediumCommand.java 634B
  85. DesignPattern-master/命令模式/命令模式.png 61.58KB
  86. DesignPattern-master/模板方法模式/TemplateMethodTest.java 571B
  87. DesignPattern-master/模板方法模式/模板方法模式介绍.docx 14.1KB
  88. DesignPattern-master/模板方法模式/TeaWithHook.java 998B
  89. DesignPattern-master/模板方法模式/Tea.java 260B
  90. DesignPattern-master/模板方法模式/模板方法模式.png 54.43KB
  91. DesignPattern-master/模板方法模式/CoffeeWithHook.java 1.01KB
  92. DesignPattern-master/模板方法模式/CaffeineBeverageWithHook.java 2.33KB
  93. DesignPattern-master/模板方法模式/Coffee.java 286B
  94. DesignPattern-master/模板方法模式/实例/Arrays里的sort方法.txt 1.39KB
  95. DesignPattern-master/设计模式.txt 7.08KB
  96. DesignPattern-master/README.md 5.4KB
  97. DesignPattern-master/状态模式/状态模式.png 65.35KB
  98. DesignPattern-master/状态模式/状态模式介绍补.docx 16.51KB
  99. DesignPattern-master/状态模式/HasQuarterState.java 1.15KB
  100. DesignPattern-master/状态模式/状态模式介绍.docx 14.24KB
  101. DesignPattern-master/状态模式/SoldState.java 1011B
  102. DesignPattern-master/状态模式/WinnerState.java 1.29KB
  103. DesignPattern-master/状态模式/GumballMachine.java 2.05KB
  104. DesignPattern-master/状态模式/NoQuarterState.java 806B
  105. DesignPattern-master/状态模式/SoldOutState.java 793B
  106. DesignPattern-master/状态模式/State.java 1021B
  107. DesignPattern-master/状态模式/StateTest.java 1.02KB
  108. DesignPattern-master/外观模式/外观模式介绍.docx 14.03KB
  109. DesignPattern-master/外观模式/Curtain.java 225B
  110. DesignPattern-master/外观模式/Projector.java 239B
  111. DesignPattern-master/外观模式/外观模式.png 60.48KB
  112. DesignPattern-master/外观模式/HomeTheatre.java 1.36KB
  113. DesignPattern-master/外观模式/Amplifier.java 524B
  114. DesignPattern-master/外观模式/FacadeTest.java 441B
  115. DesignPattern-master/外观模式/Screen.java 240B
  116. DesignPattern-master/.gitignore 574B
  117. DesignPattern-master/迭代器模式/迭代器模式实例.png 102.23KB
  118. DesignPattern-master/迭代器模式/DinerMenu.java 3.06KB
  119. DesignPattern-master/迭代器模式/迭代器模式.png 102.23KB
  120. DesignPattern-master/迭代器模式/Menu.java 193B
  121. DesignPattern-master/迭代器模式/MenuItem.java 487B
  122. DesignPattern-master/迭代器模式/迭代器模式图.png 54.86KB
  123. DesignPattern-master/迭代器模式/迭代器模式介绍.docx 13.91KB
  124. DesignPattern-master/迭代器模式/IteratorTest.java 438B
  125. DesignPattern-master/迭代器模式/Waitress.java 1.21KB
  126. DesignPattern-master/迭代器模式/DinerMenuIterator.java 1.83KB
  127. DesignPattern-master/迭代器模式/PancakeHouseMenu.java 1.05KB
  128. DesignPattern-master/迭代器模式/Waitress改.java 893B
  129. DesignPattern-master/桥接模式/BridgeTest.java 287B
  130. DesignPattern-master/桥接模式/DrawAPI.java 119B
  131. DesignPattern-master/桥接模式/桥接模式.png 33.42KB
  132. DesignPattern-master/桥接模式/Circle.java 343B
  133. DesignPattern-master/桥接模式/GreenCircle.java 264B
  134. DesignPattern-master/桥接模式/RedCircle.java 258B
  135. DesignPattern-master/桥接模式/桥接模式介绍.docx 50.76KB
  136. DesignPattern-master/桥接模式/Shape.java 249B
  137. DesignPattern-master/.gitattributes 378B
  138. DesignPattern-master/观察者模式/ForecastDisplay.java 1.03KB
  139. DesignPattern-master/观察者模式/观察者的推-拉模式介绍/ForecastDisplay.java 1.32KB
  140. DesignPattern-master/观察者模式/观察者的推-拉模式介绍/DisplayElement.java 206B
  141. DesignPattern-master/观察者模式/观察者的推-拉模式介绍/Subject.java 1.33KB
  142. DesignPattern-master/观察者模式/观察者的推-拉模式介绍/CurrentConditionsDisplay.java 1.39KB
  143. DesignPattern-master/观察者模式/观察者的推-拉模式介绍/WeatherData.java 2.83KB
  144. DesignPattern-master/观察者模式/观察者的推-拉模式介绍/StatisticsDisplay.java 1.37KB
  145. DesignPattern-master/观察者模式/观察者的推-拉模式介绍/ObserverTest.java 753B
  146. DesignPattern-master/观察者模式/观察者的推-拉模式介绍/Observer.java 514B
  147. DesignPattern-master/观察者模式/DisplayElement.java 206B
  148. DesignPattern-master/观察者模式/观察者模式.png 106.87KB
  149. DesignPattern-master/观察者模式/Subject.java 1.21KB
  150. DesignPattern-master/观察者模式/CurrentConditionsDisplay.java 857B
  151. DesignPattern-master/观察者模式/WeatherData.java 1.45KB
  152. DesignPattern-master/观察者模式/StatisticsDisplay.java 1006B
  153. DesignPattern-master/观察者模式/观察者模式介绍.docx 14.08KB
  154. DesignPattern-master/观察者模式/ObserverTest.java 566B
  155. DesignPattern-master/观察者模式/Observer.java 288B
  156. DesignPattern-master/空对象模式/空对象模式介绍.docx 12.4KB
  157. DesignPattern-master/生成器模式/Planner.java 1.37KB
  158. DesignPattern-master/生成器模式/生成器模式(建造者模式)介绍.docx 14.94KB
  159. DesignPattern-master/生成器模式/BuilderTest.java 812B
  160. DesignPattern-master/生成器模式/生成器模式(建造者模式)实例.png 51.89KB
  161. DesignPattern-master/生成器模式/TravelBuilder.java 627B
  162. DesignPattern-master/生成器模式/VacationBuilder.java 714B
  163. DesignPattern-master/工厂模式/简单工厂/SimplePizzaFactory.java 654B
  164. DesignPattern-master/工厂模式/简单工厂/PepperoniPizza.java 303B
  165. DesignPattern-master/工厂模式/简单工厂/简单工厂模式介绍.docx 14.29KB
  166. DesignPattern-master/工厂模式/简单工厂/ClamPizza.java 254B
  167. DesignPattern-master/工厂模式/简单工厂/Pizza.java 925B
  168. DesignPattern-master/工厂模式/简单工厂/简单工厂.png 36.17KB
  169. DesignPattern-master/工厂模式/简单工厂/PizzaStore.java 574B
  170. DesignPattern-master/工厂模式/简单工厂/CheesePizza.java 262B
  171. DesignPattern-master/工厂模式/简单工厂/VeggiePizza.java 401B
  172. DesignPattern-master/工厂模式/抽象工厂/ChicagoPizzaIngredientFactory.java 434B
  173. DesignPattern-master/工厂模式/抽象工厂/Sauce.java 98B
  174. DesignPattern-master/工厂模式/抽象工厂/Dough.java 98B
  175. DesignPattern-master/工厂模式/抽象工厂/NYPizzaIngredientFactory.java 421B
  176. DesignPattern-master/工厂模式/抽象工厂/PepperoniPizza.java 651B
  177. DesignPattern-master/工厂模式/抽象工厂/NYPizzaStore.java 473B
  178. DesignPattern-master/工厂模式/抽象工厂/ThickCrustDough.java 189B
  179. DesignPattern-master/工厂模式/抽象工厂/ReggianoCheese.java 166B
  180. DesignPattern-master/工厂模式/抽象工厂/Cheese.java 99B
  181. DesignPattern-master/工厂模式/抽象工厂/Pizza.java 1.26KB
  182. DesignPattern-master/工厂模式/抽象工厂/AbstractFactoryTest.java 434B
  183. DesignPattern-master/工厂模式/抽象工厂/MarinaraSauce.java 161B
  184. DesignPattern-master/工厂模式/抽象工厂/PizzaIngredientFactory.java 397B
  185. DesignPattern-master/工厂模式/抽象工厂/ThinCrustDough.java 164B
  186. DesignPattern-master/工厂模式/抽象工厂/PizzaStore.java 682B
  187. DesignPattern-master/工厂模式/抽象工厂/ChicagoPizzaStore.java 478B
  188. DesignPattern-master/工厂模式/抽象工厂/PlumTomatoSauce.java 180B
  189. DesignPattern-master/工厂模式/抽象工厂/CheesePizza.java 648B
  190. DesignPattern-master/工厂模式/抽象工厂/抽象工厂.png 192.51KB
  191. DesignPattern-master/工厂模式/抽象工厂/MozzarellaCheese.java 171B
  192. DesignPattern-master/工厂模式/抽象工厂/VeggiePizza.java 645B
  193. DesignPattern-master/工厂模式/抽象工厂/抽象工厂模式介绍.docx 14.44KB
  194. DesignPattern-master/工厂模式/工厂方法/ChicagoStyleCheesePizza.java 391B
  195. DesignPattern-master/工厂模式/工厂方法/FactoryMethodTest.java 1.09KB
  196. DesignPattern-master/工厂模式/工厂方法/依赖倒置原则.png 41.34KB
  197. DesignPattern-master/工厂模式/工厂方法/ChicagoStyleVeggiePizza.java 470B
  198. DesignPattern-master/工厂模式/工厂方法/静态工厂方法/考虑用静态工厂方法代替构造器.docx 16.26KB
  199. DesignPattern-master/工厂模式/工厂方法/NYStyleCheesePizza.java 274B
  200. DesignPattern-master/工厂模式/工厂方法/NYPizzaStore.java 520B
  201. DesignPattern-master/工厂模式/工厂方法/NYStyleVeggiePizza.java 373B
  202. DesignPattern-master/工厂模式/工厂方法/Pizza.java 1.09KB
  203. DesignPattern-master/工厂模式/工厂方法/PizzaStore.java 933B
  204. DesignPattern-master/工厂模式/工厂方法/ChicagoPizzaStore.java 591B
  205. DesignPattern-master/工厂模式/工厂方法/ChicagoStylePepperoniPizza.java 511B
  206. DesignPattern-master/工厂模式/工厂方法/工厂方法实例.png 47.54KB
  207. DesignPattern-master/工厂模式/工厂方法/NYStyleClamPizza.java 311B
  208. DesignPattern-master/工厂模式/工厂方法/ChicagoStyleClamPizza.java 425B
  209. DesignPattern-master/工厂模式/工厂方法/NYStylePepperoniPizza.java 418B

资源介绍:

设计模式学习总结-java版
# DesignPattern 设计模式总结-java版 > 参考: - 《head first设计模式》的官方代码 - 《设计模式-可复用面向对象软件的基础》 - 某位博主的总结http://download.csdn.net/detail/undergrowth/8306683 ## OO设计原则: - 封装变化 - 多用组合,少用继承 - 针对接口编程,不针对实现编程 - 对交互对象之间的松耦合设计而努力 - 对扩展开方,对修改关闭(例如: 装饰者模式) - 依赖抽象,不要依赖具体类(例如:工厂模式) - 最少知识原则:只和你的密友交谈 ## 警告: - 过度使用设计模式可能导致代码被过度工程化。应该总是用最简单的解决方案完成工作,并在真正需要模式的地方才使用它。 # OO设计模式: ## 创建型: ### 单例模式(Singleton) 确保类只有一个实例,并提供一个全局的访问点 ### 工厂模式(Factory): #### 简单工厂模式(Simple Factory): 在一个类中处理创建对象的细节。 #### 工厂方法模式(Factory Method): 定义了一个创建**对象**的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 #### 抽象工厂模式(Abstract Factory): 提供一个接口,用于创建相关或依赖对象的**家族**,而不需要明确指定具体类。 ### 生成器模式(Builder): ### 原型模式(Prototype): ## 结构型: ### 组合模式(Composite) 允许你将对象组成树形结构来表现“整体/部分”的层次结构。组合能让客户以一致的方式处理个别对象和对象组合。 ### 外观模式(Facade) 提供了系统的一个简化的高层接口,用来简化访问系统的一群接口 ### 代理模式(Proxy): 给真实对象提供一个替身,以控制对这个对象的访问 - 装饰者为对象增加额外的行为,而代理是控制对象的访问。 - 适配器和代理都是挡在其他对象的前面,并负责将请求转发给他们。适配器会提供不同的接口用于适配,而代理则实现相同的接口。 - 外观模式是包装许多对象以简化他们的接口 ### 适配器模式(Adapter) 将一个或多个接口改变为用户所期望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。 ### 装饰者模式(Decrator): 不改变接口,但动态的加入责任。装饰者提供有别于继承的另一种选择,比继承更具有扩展性。(例如:java.IO包) ### 桥接模式(Bridge): 将抽象部分与它的实现部分相分离,使他们可以独立的变化。 ### 享元模式(Flyweight): ## 行为型: ### 迭代器模式(Iterator): 提供一种顺序访问聚合对象元素的方法,而又不暴露其内部元素, 迭代器将遍历聚合对象的任务封装到一个对象(可以是聚合对象中也可以是自定义的迭代器对象)中。 ### 观察者模式(Observer)(发布+订阅): 定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。 ### 模板方法模式(Template Method): 定义了一个算法的框架,允许继承的子类为其提供一个或多个步骤的实现方法或可选的实现方法(hook方法) - 模板方法和策略方法都封装算法,模板使用继承,策略使用组合 ### 命令模式(Command): 将请求封装成对象,使不同的请求、日志、队列来参数化其他对象。 ### 状态模式(State): 允许对象在内部状态改变时改变他的行为,对象看起来好像修改了他的类 ### 策略模式(Strategy): 将算法簇封装起来,使使用算法的客体和算法之间相互独立。 - 模板方法和策略方法都封装算法,模板使用继承,策略使用组合 ### 职责链模式(China of Responsibility): 使多个对象都有机会处理请求,从而避免请求的送发者和接收者之间的耦合关系。 ### 中介者模式(Mediator): 用一个中介对象封装一些列的对象交互。 ### 访问者模式(Visitor): 表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这个元素的新操作。 ### 解释器模式(Interpreter): 给定一个语言,定义他的文法的一个表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 ### 备忘录模式(Memento): 在不破坏对象的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 免责声明: 1.本资源仅供学习和交流使用,不保证其准确性、完整性、及时性或适用性。 2.本资源仅包含一般信息,不构成专业建议。在使用本资源时,请务必自行研究并谨慎决策。 3.我已尽力确保本资源的正确性和合法性,但不对其准确性、完整性和及时性做出保证。 4.本资源不应用于商业用途。 5.在使用本资源的过程中,用户应自行承担所有风险和责任,并遵守相关法律法规。 6.对于因使用本资源而产生的任何损失或损害,我概不负责。 请确保在使用本资源时仔细阅读并遵守以上免责声明。如果您有任何疑问或需要进一步帮助,请联系我。 资源最后修改时间:2024-09-24 21:51:46 23591322217161 c280dcc4-60e4-4ca0-9707-d14e4f4a7754
100+评论
captcha