中介者模式

基本介绍

(1)中介者模式,用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互应用,从而使其耦合松散,而且可以独立地改变他们之间的交互

(2)中介者模式属于行为型模式,使代码易于维护

(3)比如MVC模式,C(Controller控制器)是M(Model模型)和V(View视图)的中介者,在前后端交互时起到了中间人的作用

代码实现

import java.time.LocalDateTime;
import java.util.Date;

public class IntermediaryMode {
    public static void main(String[] args) {
        User1 user = new User1("小明");
        User1 user1 = new User1("悟空");
        user.sendMsg("今天吃什么?");
        user1.sendMsg("吃俺老孙一棒!!");
    }
}

class User1 {
    private String name;

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

    public void sendMsg(String msg) {
        Chatroom.getMsg(this.name,msg);
    }
}
//聊天室充当中介者
class Chatroom {
    public static void getMsg(String name, String msg) {
        System.out.println(LocalDateTime.now() + "  " + name + " :" + msg);
    }
}

 

注意事项和细节

(1)多个类相互聚合,会形成网状结构,使用中介者模式将网状结构分离为星型结构,进行解耦

(2)减少类间依赖,降低了耦合,符合迪米特法则

(3)中介者承担了较多的责任,一旦中介者出现了问题,整个系统就会受到影响

(4)如果设计不当,中介者对象本身变得过于复杂,这点在实际使用时,要特别注意

 

posted @ 2021-08-31 22:16  袁志航  阅读(81)  评论(0)    收藏  举报