下边的内容我是对外观、适配器、代理三个模式进行讲解:
共同点:使两个类不必直接通信,通过一个中间类来调用另一个类
代理与外观区别:
代理和外观的主要区别在于代理对象表代表一个单一对象,而外观对象代表一个子系统代理的客户对象无法直接访问目标对象由代理提供对单独目标对象防卫控制,而外观客户对象可以直接访问此系统从容的各个对象,但通常由于外观对象提供对子系统各元件功能的简化的共同层次的调用接口。
代理与适配器区别:
代理是一种原来对象的代表,其他需要与这个对象打交道的操作,都是和这个代表交涉而适配记忆,则不需要虚构一个代表者,只需要为应付特定使用目的在原来的一些类型组合。