介绍
中介者模式是一种行为设计模式, 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互, 迫使它们通过一个中介者对象进行合作。
用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
中介者模式一般应用于一组对象以定义良好但是复杂的方式进行通信的场合,以及想定制一个分部在多个类中的行为,而又不想生成太多的子类的场合。
中介者模式示例:
我们通过聊天室实例来演示中介者模式。实例中,多个用户可以向聊天室发送消息,聊天室向所有的用户显示消息。我们将创建两个类 ChatRoom 和 User。User 对象使用 ChatRoom 方法来分享他们的消息。
MediatorPatternDemo,我们的演示类使用 User 对象来显示他们之间的通信。
在 Java 中使用模式
中介者模式在 Java 代码中最常用于帮助程序 GUI 组件之间的通信。 在 MVC 模式中, 控制器是中介者的同义词。
1、java.util.Timer
(所有 scheduleXXX()
方法)
2、java.util.concurrent.Executor#execute()
3、java.util.concurrent.ExecutorService
( invokeXXX()
和 submit()
方法)
4、java.util.concurrent.ScheduledExecutorService
(所有 scheduleXXX()
方法)
5、java.lang.reflect.Method#invoke()
转:https://refactoring.guru/