中介者模式主要是解决两个对象间相互作用时产生的耦合
这里举一个简单的电脑组装的例子,电脑中的组件,如CPU、显卡、内存等等都是通过主板进行工作,主板就扮演着一个中介者的角色
抽象中介者类
1 | public abstract class Mediator { |
抽象组件类
1 | public abstract class Colleague { |
具体组件类
1 | public class CDDevice extends Colleague { |
1 | public class CPU extends Colleague { |
1 | public class GraphicsCard extends Colleague { |
1 | public class SoundCard extends Colleague { |
具体中介者
1 | public class MainBoard extends Mediator { |
示例
1 | public class Main { |
中介者类负责各个组件之间的配合,所以各个组件之间的耦合度会降低,最后只需要启动一个组件的动作,通信工作就由中介者负责