
设计模式
iteye_7157
这个作者很懒,什么都没留下…
展开
-
命令模式
[img]/upload/attachment/121805/86330b43-e4ef-3424-ab75-f69a7b8046f5.png[/img] 将“请求”封装成命令对象。把行为请求者和行为实现者进行解耦。 同时,invoker用list来储存命令。可以实现撤销,命令。 什么时候用? 敏捷开发原则:如果不知道什么时候用,就先不要用。在需要的时候再实现也是比较容易的。 ...2009-07-03 20:13:27 · 121 阅读 · 0 评论 -
策略模式
[img]/upload/attachment/121818/2e873342-351a-3e41-8f64-ab9563a8f4f6.png[/img] 上图是根据《Head First》系列的《设计模式》书中的鸭子案例画的策略模式图。 策略模式定义:定义算法族,封装起来。可以相互替换。让算法的变换独立于使用算法的客户。 设计原则:封装变化。 在鸭子的例子中。首先是抽...2009-07-03 22:04:40 · 102 阅读 · 0 评论 -
装饰者模式
[img]/upload/attachment/122591/90a2ff10-08a0-3ffd-8594-f198bff3858c.png[/img] 定义:动态地附加责任到对象上。若要扩展功能,装饰者提供了比继承更有弹性的方案。 缺点是:可能引入很多小的类,使用者看起来麻烦。可以参考“工厂模式”和“生成器模式” 设计原则: 对扩展开放,对修改封闭。 应用场合:新巴兹咖...2009-07-06 21:32:20 · 87 阅读 · 0 评论 -
简单工厂,工厂,抽象工厂
简单工厂:把类的实例化转移到工厂类中 [img]/upload/attachment/124591/cb58365e-ba3f-33f4-a710-945c2c6ae05a.bmp[/img] 抽象工厂:把类的实例化转移到具体的工厂类中 [img]/upload/attachment/124597/89121cff-7e04-3d6a-b3ab-1e7f9188c234.png[/i...2009-07-13 11:15:20 · 95 阅读 · 0 评论 -
Proxy
[img]/upload/attachment/125016/2c010776-f044-3d8e-8d61-a5225cd0e8b7.png[/img] 使用的情况: 1.远程代理(rmi,webservice) 2.虚拟代理,开销较大的对象。 3 安全代理:控制对象的访问权限 4 智能指引:调用真实对象时,做一点其他的事情。...2009-07-14 16:52:26 · 101 阅读 · 0 评论