Radio

一个小小程序员

0%

中介者模式

中介者模式

中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合, 使代码易于维护。中介者模式属于行为型模式。

示例演示:
  1. 创建一个people类,并将其中的say方法单独提取

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    package test.mediator;

    import lombok.Data;

    @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
    10
    package 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);
    }
    }
  2. 完成上述步骤,我们就可以开始演示了

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    package 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
    2
    Thu Nov 05 11:43:05 CST 2020 [people1]:hello1
    Thu Nov 05 11:43:05 CST 2020 [people2]:hello2
说明:

优点: 1、降低了类的复杂度,将一对多转化成了一对一。 2、各个类之间的解耦。 3、符合迪米特原则。

缺点:中介者会庞大,变得复杂难以维护。

欢迎关注我的其它发布渠道