- 在两个独立的对象之间建立通信的对象
-
- 需要在两个必须相互隔离的子系统间建立通信.
- 可能是因为无法修改已有的子系统,或者不愿意在两者之间建立依赖关系.甚至不愿意这两个子系统与另一个部件间建立依赖关系.
- 运行机制
- 控制着子系统键的通信细节.但是并不被子系统感知.
- 难点是如何激活映射器进行(在子系统间的)数据交换.
- 因为无法在任何一个子系统上直接调用Mapper.
- 可以使用一个第三方子系统来完成映射并调用Mapper.
- 也可以让Mapper成为某个子系统的观察者.
- 使用时机
- 作用是解耦系统的不同部分.
- 完成该目的,也可选择入口.
- 入口是最常见的方案.
- 只有当需要确保任何一方的子系统都不能依赖于交换时,才使用它.