装饰器与适配器都有一个别名叫做 包装模式(Wrapper),它们看似都是起到包装一个类或对象的作用,但是使用它们的目的很不一一样。
适配器模式的意义是要将一个接口转变成另一个接口,它的目的是通过改变接口来达到重复使用的目的。
而装饰器模式不是要改变被装饰对象的接口,而是恰恰要保持原有的接口,但是增强原有对象的功能,或者改变原有对象的处理方式而提升性能。所以这两个模式设计的目的是不同的。
** 代理提供的接口和原本的要实现统一接口,代理模式的作用是不把实现直接暴露给client,而是通过代理这个层,代理能够做一些处理,判断。**
** 适配器模式体现的是适配,比如Client 需要A类提供的行为,此时我们有B类提供了一些方法可以实现,但是方法名字不一样,需要改造一下变成A, 此时创建一个类C,实现A接口,并注入B类,这样相当于C就通过协调用B的方法,来补充到A接口方法中(所以这里C属于适配器,来协调Client 和 B) 对适配器模式的功能很好理解,就是把一个类的接口变换成客户端所能接受的另一种接口