中介者模式
中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合, 使代码易于维护。中介者模式属于行为型模式。
示例演示:
创建一个people类,并将其中的say方法单独提取
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16package test.mediator;
import lombok.Data;
public class People {
private String name;
public People(String name) {
this.name = name;
}
public void say(String message) {
Say.say(this, message);
}
}1
2
3
4
5
6
7
8
9
10package test.mediator;
import java.util.Date;
public class Say {
public static void say(People people, String message) {
System.out.println(new Date().toString() + " [" + people.getName() + "]:" + message);
}
}完成上述步骤,我们就可以开始演示了
1
2
3
4
5
6
7
8
9
10package test.mediator;
public class MediatorDemo {
public static void main(String[] args) {
People people1 = new People("people1");
People people2 = new People("people2");
people1.say("hello1");
people2.say("hello2");
}
}运行结果:
1
2Thu Nov 05 11:43:05 CST 2020 [people1]:hello1
Thu Nov 05 11:43:05 CST 2020 [people2]:hello2
说明:
优点: 1、降低了类的复杂度,将一对多转化成了一对一。 2、各个类之间的解耦。 3、符合迪米特原则。
缺点:中介者会庞大,变得复杂难以维护。