二十 Java设计模式解析(中介者模式)

1️⃣概念

定义 : 定义了一个封装一组对象如何交互的对象;通过使对象明确的相互引用来促进松散耦合,并允许独立的改变地它们的交互;
类型 : 行为型;


2️⃣适用场景

系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解;
交互的公共行为,如果需要改变行为则可以增加新的中介者类;


3️⃣优点

将一对多转换成了一对一,降低了程序的复杂度;
类之间的解耦;


4️⃣缺点

中介者过多,导致系统复杂;


5️⃣中介者模式Coding

1 声明StudyGroup类

public class StudyGroup {

    public static void showMessage(User user, String message){
        System.out.println(new Date().toString() + " [" + user.getName() + "] : " + message);
    }
}

2 声明User类

public class User {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public User(String name) {
        this.name = name;
    }

    public void sendMessage(String message) {
        StudyGroup.showMessage(this, message);
    }
}

3 编写测试类

public class Test {
    public static void main(String[] args) {
        User test = new User("test");
        User test1= new User("test1");

        test.sendMessage(" Hey! test1! Let's learn Design Pattern");
        test1.sendMessage("OK! test");
    }
}

4 UML类图

6️⃣中介者模式源码解析

java.util.Timer

你可能感兴趣的:(二十 Java设计模式解析(中介者模式))