在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。
采用添加一层间接(稳定)接口,来隔离本来互相紧密关联的接口是一个常见的解决方案。
注释:
- 并不是这四种设计模式才有“接口隔离”这个间接思想,其他模式就没有。
- 而是说,这四种设计模式在“接口隔离”这个层面,体现的特别典型、明显。
接口隔离
- 门面模式:系统内与系统外之间的隔离
- 中介者模式:系统内各个对象之间的隔离
- 代理模式:两个对象之间的隔离,本来两个对象是可以直接依赖的,但由于某种原因(性能、安全、分布式),两个对象必须拆开,拆开之后建立一个代理对象
- 适配器:老接口与新接口之间不匹配的情况,需要用一个适配器为两者建立联系
中介者模式与门面模式其实异曲同工,都是通过一个新的东西提出隔离
- 门面模式解决的是系统外与系统内之间的隔离
- 中介者模式解决的是系统内各个对象之间的隔离