中介者模式(Mediator)
1、本质:封装交互
2、使用环境:
1、一个对象的操作会引起其他相关对象的变化
2、这个对象不希望自己处理这些关系
3、交给中介者处理
3、示意图:

4、功能:
1、把对象之间的交互关系集中处理
2、松散对象之间的交互耦合
5、简化中介者模式: --广义中介者
1、去掉同事类的父类,让任意需要相互交互的对象都成为同事
2、不需要定义Mediator接口,把具体的中介者对象实现成单例
3、同事对象不需要持有中介者对象的引用
4、中介者也不需要持有同事对象,在具体方法中创建、获取或接受参数
6、例子:
一个部门中有多个人员,一个人员属于多个部门
1、当一个人员离职时,需要删除人员信息和修改相关部门信息
2、当一个部门撤销时,需要删除部门信息和修改各人员信息
7、优点:
1、松散耦合
2、集中控制交互
3、多对多变成一对多
8、缺点:
交互过度集中化,当交互多而复杂时,将导致中介者对象难以维护和管理

浙公网安备 33010602011771号