中介者模式
定义:
一个封装一组对象如何交互的对象
通过使对象确定地相互引用促进松散耦合,并允许独立地改变它们的交互
类型:行为型
适用场景:
系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解
交互的公共行为,如果需要改变行为则可以增加新的中介者类
优点:
将一对多转化成了一对一、降低了程序复杂度
类之间解耦
缺点:
中介者过多,导致系统复杂
相关设计模式:
中介者模式和观察者模式
Coding:
创建类StudyGroup(相当于一个中介者)
创建User类
创建Test类
当前的UML类图
在JDK中的应用:
类Timer,我们可以理解到timer就是一个中介者里面的方法sched()中传入的task对象就是我们之前传入的User对象一样。