使用场景:如果一个类调用另一个类中的方法,可以通过第三方转发这个调用,在复杂系统中,使用中介者模式,可以减少对象之间的联系,降低耦合。
包含角色:
Mediator:抽象中介者
ConcreteMediator:具体中介者,需要知道所有的具体同事类,并且接收来自具体同事类的信息,发送到其他具体同事类那里。
Colleague:抽象同事类
ConcreteColleague:具体同事类,只需要知道中介者即可,不需要知道其他同事类。
示例demo:市场上租房子,如果没有中介,一个房东要接见很多租客,一个租客也要联系很多房东,如果有了中介,房东和租客都只需要联系中介即可。