定义
中介者模式(Mediator):属于行为型模式,用来降低多个对象之间的耦合关系。通过一个中介类,用于处理不同类之间的通信,是代码结构简单,易于维护。
代码实战
1 | class Mediator { |
类图
特点
中介者模式的特点是,创建一个中介者,里面持有多个不同类对象的集合,通常考虑实际情况使用队列。不同的类对象也持有这个中介的对象,可以随时注册或者去注册中介的服务。当某个类A需要和类B配合使用时,只需要调用中介的接口即可,不需要和B产生直接关系。
在两个类中看不到这个优势。如果一个中介可以处理10个不同角色的任务,如果每种角色都需要相互关联,就非常复杂。本模式让10个不同的角色都与中介关联即可,至于两两之间如何配合,那是中介的任务。
总结
中介者模式使用的场景不多,因为在平时的业务开发过程中,不会存在太多类配合的问题。一般都是两个类之间相互配合,正如特点中描述的,两个类看不到优势,所以场景较少。小伙伴们熟知这种设计思想即可。