在组件构建过程中,接口之间的直接依赖会带来很多问题,采用添加一层间接(稳定)接口,来隔离本来相互紧密关联的接口。
典型模式
- Facade
- Proxy
- Adapter
- Mediator
Facade-门面模式
为子系统中的一组接口,提供一个一致稳定的界面,这个接口使得子系统更加易用(复用)
Proxy
在面向对象的系统中,有些对象由于某种原因直接访问会存在一定的问题(比如安全、性能等),这个时候可以添加一个代理类来做一个访问桥梁。
Adapter
由于应用环境的变化,常常将一些现存的对象放到新环境中使用,但是新环境要求的接口是现有对象不能满足的,同时也不想更改现有对象的接口。这个时候可以添加一个适配类。
Mediator
在软件构建的过程中,经常会出现多个对象互相关联交互的情况,对象之间常常会维持一种复杂的引用关系。为了避免这种情况,可以使用中介者对象来管理对象间的关联关系。
定义:用一个中介者对象来封装,一系列对象的交互,中介者,使各对象不需要显示的相互引用(编译时的依赖),从而使其耦合松散。
去除了class1、class2、class3的相互依赖。