摘要: 常用的几种代理模式简要说明如下:(1)远程代理(Remote Proxy):为一个位于不同的地址空间的对象提供一个本地的代理对象,这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中,远程代理又称为大使(Ambassador)。(2)虚拟代理(Virtual Proxy):如果需要创建一个资... 阅读全文
posted @ 2014-09-23 15:57 williamwood 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 6状态模式总结 状态模式将一个对象在不同状态下的不同行为封装在一个个状态类中,通过设置不同的状态对象可以让环境对象拥有不同的行为,而状态转换的细节对于客户端而言是透明的,方便了客户端的使用。在实际开发中,状态模式具有较高的使用频率,在工作流和游戏开发中状态模式都得到了广泛的应用,例如公文状态的转换、... 阅读全文
posted @ 2014-09-22 20:53 williamwood 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1.主要优点 组合模式的主要优点如下: (1)组合模式可以清楚地定义分层次的复杂对象,表示对象的全部或部分层次,它让客户端忽略了层次的差异,方便对整个层次结构进行控制。 (2)客户端可以一致地使用一个组合结构或其中单个对象,不必关心处理的是单个对象还是整个组合结构,简化了客户端代码。 (3)在组合... 阅读全文
posted @ 2014-09-22 15:33 williamwood 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 6迭代器模式总结迭代器模式是一种使用频率非常高的设计模式,通过引入迭代器可以将数据的遍历功能从聚合对象中分离出来,聚合对象只负责存储数据,而遍历数据由迭代器来完成。由于很多编程语言的类库都已经实现了迭代器模式,因此在实际开发中,我们只需要直接使用Java、C#等语言已定义好的迭代器即可,迭代器已经成... 阅读全文
posted @ 2014-09-19 18:42 williamwood 阅读(195) 评论(0) 推荐(0) 编辑
摘要: //DataViewer.cs using System; namespace TemplateMethodSample { abstract class DataViewer { //抽象方法:获取数据 public abstrac... 阅读全文
posted @ 2014-09-19 18:40 williamwood 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 对象适配器9.7 适配器模式总结 适配器模式将现有接口转化为客户类所期望的接口,实现了对现有类的复用,它是一种使用频率非常高的设计模式,在软件开发中得以广泛应用,在Spring等开源框架、驱动程序设计(如JDBC中的数据库驱动程序)中也使用了适配器模式。 1.主要优点 无论是对象适配器模式还是类适配... 阅读全文
posted @ 2014-09-18 20:45 williamwood 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 外观模式是一种使用频率非常高的设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,使子系统与客户端的耦合度降低,且客户端调用非常方便。外观模式并不给系统增加任何新功能,它仅仅是简化调用接口。在几乎所有的软件中都能够找到外观模式的应用,如绝大多数... 阅读全文
posted @ 2014-09-18 20:37 williamwood 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1.主要优点 命令模式的主要优点如下: (1)降低系统的耦合度。由于请求者与接收者之间不存在直接引用,因此请求者与接收者之间实现完全解耦,相同的请求者可以对应不同的接收者,同样,相同的接收者也可以供不同的请求者使用,两者之间具有良好的独立性。 (2)新的命令可以很容易地加入到系统中。由于增加新的具体... 阅读全文
posted @ 2014-09-18 16:01 williamwood 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1 normal modeclass Singleton{ private Singleton(){}; Singleton singleton; static Singleton getInstance() { if(singleton == null) sing... 阅读全文
posted @ 2014-09-17 19:49 williamwood 阅读(149) 评论(0) 推荐(0) 编辑
摘要: simple factorygood:1 devide implementation and initialization2 use config file can make system more flexible (reflection)bad:1 all initialization work... 阅读全文
posted @ 2014-09-17 19:17 williamwood 阅读(177) 评论(0) 推荐(0) 编辑