中介者模式
标签(空格分隔): 设计模式
降低多个对象与类之间的通信复杂性。
行为型模式。
将网状结构的类交互,分离成星型结构。
没有QQ之前,大家的沟通都是两两之间面对面的,消息的交互非常复杂,如果想要发出一条新信息,让大家都知道,这个过程要传递很多遍。有了QQ群之后,大家只要把消息发到QQ群上,所有人立马就能看到了。这里的QQ群就充当了中介者的角色。
具体实现
每个同事类持有Mediator的引用,而Mediator持有所有同事类的列表。这样一个同事类可以群发消息,也可以与某个人单独联系。
中介者模式的优点
适当地使用中介者模式可以避免同事类之间的过度耦合,使得各同事类之间可以相对独立地使用。
使用中介者模式可以将对象间一对多的关联转变为一对一的关联,使对象间的关系易于理解和维护。
使用中介者模式可以将对象的行为和协作进行抽象,能够比较灵活的处理对象间的相互作用。