适配器模式,装饰模式,代理模式异同

转载自:http://blog.csdn.net/lulei9876/article/details/39994825

适配器模式,一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。

装饰器模式,原有的不能满足现有的需求,对原有的进行增强。

代理模式,同一个类而去调用另一个类的方法,不对这个方法进行直接操作。

适配器的特点在于兼容,从代码上的特点来说,适配类与原有的类具有相同的接口,并且持有新的目标对象。

装饰器模式特点在于增强,他的特点是被装饰类和所有的装饰类必须实现同一个接口,而且必须持有被装饰的对象,可以无限装饰

代理模式的特点在于隔离,隔离调用类和被调用类的关系,通过一个代理类去调用。

 

适配器模式的宗旨:保留现有类所提供的服务,向客户提供接口,以满足客户希望

只需要将原接口转化为客户希望的另一个接口,就是适配器模式!

转化无非就是 1.继承原类或者实现原接口   2.持有原接口的对象 再实现目标接口。。。。

那么第一种就是类的适配,第二种就是对象的适配!仅此而已。。。。

 

代理模式和适配器模式最大的区别,代理模式是与原对象实现同一个接口,而适配器类则是匹配新接口,说白了,实现一个新的接口。

装饰器模式和代理模式的代码不同之处,代理模式一定是自身持有这个对象,不需要从外部传入。而装饰模式的一定是从外部传入,并且可以没有顺序,按照代码的实际需求随意挑换顺序

posted on 2015-01-09 11:08  hi_rain  阅读(442)  评论(0)    收藏  举报