结构型模式中有一些模式看起来就像双胞胎,让你难以分别,不过别着急,希望看了我的博客能够有所帮助,嘿嘿!
一、代理模式与外观模式的区别:
代理对象代表一个单一对象而外观对象代表一个子系统;代理模式的客户对象无法直接访问目标对象,由代理提供对象单独的目标对象的访问控制;而外观的客户对象可以直接访问子系统中的各个对象,但通常由外观对象提供对子系统各元件功能的简化的共同层次的调用接口。
二、代理模式与适配器模式
1、 联系:
属于一种衔接性质的功能。
2、区别:
代理是一种原来对象的代表,其他需要与这个对象打交道的操作都是和这个代表交涉;而适配器这不需要虚构出一个代表着,只需要为应付特定使用目的,将原来的类进行一些组合。
三、适配器模式与桥接模式
1、联系:
都是给另一个对象提供一定程度的间接性,有利于系统的灵活性。
2、区别:
桥接模式通常是在设计之初,就对抽象接口与它的实现部分进行桥接,让抽象与实现两者可以独立演化;而适配器通常是在设计完成之后,对已有接口之间的不匹配问题进行协同。
四、适配器模式与外观模式
1、联系:
都是对现存系统的封装。
2、区别:
适配器是两个已有额接口协同工作,用来适配对象的;而外观则是为现存系统提供一个更为方便的访问接口,用来适配整个系统,所针对的对象的粒度也更大。
以上是我的理解,有很多不足之处还望大家及时指出,^_^!