摘要: 问题:在某些情况下,一类具有“容器特征”的对象在充当对象的同时,又是其他对象的容器的情况,比如树状结构的对象,如果客户过多地依赖于对象容器复杂的内部实现结构,对象容器内部实现结构的变化将引起客户代码的频繁变化。如何将“客户代码与复杂的对象容器结构”解耦?让对象容器自己来实现自身的复杂结构,从而使得客户代码就像处理简单对象一样来处理复杂的对象容器? 定义:组合(Composite )模式是构造型的设计模式之一,是指将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得客户对单个对象和组合对象的使用具有一致性。意图:提供一个Component角色,它定义了访问与管理部件(部分-整体)的. 阅读全文
posted @ 2012-07-24 17:54 ejiyuan 阅读(1585) 评论(0) 推荐(0) 编辑
摘要: 问题:在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。•当由于某些特定的需要调用的对象在另外一台机器上,需要跨越网络才能访问,在没有WebService的情况下我们需要直接coding去处理网络连接、处理打包、解包等等非常复杂的步骤,而WebService的出现帮我们解决了其中的一些问题简化客户端的处理,我们只需在客户端建立一个远程对象的代理,客户端就象调用本地对象一样调用该代理,再由代理去跟实际对象联系,对于客户端来说可能根本没有感觉到调用的东西在网络另外一端。定义:对其他对象提供一种代理以控制对这个对象的访问。意图:提供一个Sub. 阅读全文
posted @ 2012-07-24 10:55 ejiyuan 阅读(3535) 评论(0) 推荐(0) 编辑