学习路径: https://coding.imooc.com/class/270.html
- 应用场景
如学习小组的业务场景,聊天室就是一个中介者,
public static void main(String[] args) {
Student tom = new Student("Tom");
Student jerry = new Student("Jerry");
Teacher teacher = new Teacher("james");
StudentGroup studentGroup = new StudentGroup("学生聊天室");
studentGroup.sendMessage(jerry, "请问StringBuffer和StringBuilder有啥区别?");
studentGroup.sendMessage(tom, "求求你百度吧");
studentGroup.sendMessage(teacher, "群笔记里面有,可以看一看");
}
-
实现
新建StudentGroup这个中介者类,里面用方法关联不同学生,老师的实体对象即可,可以使用多态 -
总结
核心还是解耦,但是如果中介者的职责不明确,可能会产生多种中介者,加大系统复杂度。