代理Proxy: Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。动态代理模式:动态代理优点:...
分类:
其他好文 时间:
2015-07-17 00:14:53
阅读次数:
116
结构意图将对象组合成树形结构以表示“部分-整体”的层次结构。C o m p o s i t e 使得用户对单个对象和组合对象的使用具有一致性。适用性你想表示对象的部分-整体层次结构。你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。 1 using System; ...
分类:
其他好文 时间:
2015-07-16 09:37:39
阅读次数:
203
结构意图为其他对象提供一种代理以控制对这个对象的访问。适用性在需要用比较通用和复杂的对象指针代替简单的指针的时候,使用P r o x y 模式。下面是一 些可以使用P r o x y 模式常见情况: 1) 远程代理(Remote Proxy )为一个对象在不同的地址空间提供局部代表。 NEXTSTE...
分类:
其他好文 时间:
2015-07-16 09:35:31
阅读次数:
112
结构意图将抽象部分与它的实现部分分离,使它们都可以独立地变化。适用性你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时B r i d g e 模式使你可以对不同的抽象...
分类:
其他好文 时间:
2015-07-16 09:30:55
阅读次数:
96
桥接模式属于结构型设计模式。
设计意图:将抽象部分与实现部分分离,使它们都可以独立的变化。
一看到设计意图,大家可能有些发懵,我们看到的继承和接口不都是抽象和实现分离的吗?尤其是接口和抽象类都是这样的实现啊!那怎么还有这么个桥接的分离呢?
我们先来看个例子。
例如:汽车品牌内置导航仪,我们希望实现,每个品牌的导航仪都可以在任何一个牌子的汽车上安装并启动。
汽车品牌有两个:宝马、奔驰。...
分类:
其他好文 时间:
2015-07-15 01:21:58
阅读次数:
188
适配器模式属于结构型设计模式
设计意图:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
该模式正如名字一样适配器,就是为了能使之前的老接口可以焕发青春的模式,使用一个新的接口把已经存在的接口发布出去。
这样的设计模式,我们一版在企业信息化升级时会经常使用,有些企业存在的老接口经常不能对外接收数据,而重构...
分类:
其他好文 时间:
2015-07-13 22:32:26
阅读次数:
179
1、设计模式总结 ? ? 设计模式总共23个,但是常用的不到10个,下面就把这23个设计模式进行整理归类,具体如下: ? ??1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。...
分类:
其他好文 时间:
2015-07-06 23:35:40
阅读次数:
455
代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类型,例如保护代理、远程代理、虚拟代理、缓冲代理等,它们应用于不同的场合,满足用户的不同需求。...
分类:
其他好文 时间:
2015-05-04 20:16:08
阅读次数:
188
一、描述
适配器模式就是讲一个系统的接口转换成另外一种形式,从而使原来不能直接调用的接口变得可以调用。例如我现在有一份List类型的用户名单,但是我的系统需要一份Map类型的用户名单,所以我就需要写一个继承Map类的适配器,将List类型的名单适配成Map类型的名单从而可以直接在系统只使用。
当系统需要使用一个外部的接口,而这个外部接口不满足系统需要的时候,我们需要使用适配器模式对外部接口进行...
分类:
编程语言 时间:
2015-05-04 12:01:18
阅读次数:
118
一、描述
外观模式又叫门面模式,就是对一个复杂的系统进行包装,该系统对外的接口统一由外观类提供。当一个复杂的系统需要对外提供接口时,就需要将对外提供的接口统一封装在一个外观类中供外系统使用。外观模式最大的特点就是将细粒度的对象包装成粗粒度的对象,应用程序通过访问这个外观对象来完成细粒度对象的调用。这样应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程...
分类:
编程语言 时间:
2015-05-02 23:27:48
阅读次数:
212