23种设计模式:中介模式

中介模式

1.介绍

概念

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

主要作用

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

解决的问题

对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出相应的处理。

使用场景

1、系统中对象之间存在比较复杂的引用关系,导致它们之间的依赖关系结构混乱而且难以复用该对象。 2、想通过一个中间类来封装多个类中的行为,而又不想生成太多的子类。
3.MVC 框架,其中C(控制器)就是 M(模型)和 V(视图)的中介者。
(引用自菜鸟教程)

2.实现

背景

界面需要与数据库之间进行交互,User类就充当中介的角色,数据都被封装到了User类中。

实现步骤

1.创建User类

public class User {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

2.创建Dao类

public class Dao {
    public void setUserInformation(User user) {
        user.setUsername("zhangsan");
        user.setPassword("123456");
    }
}

3.创建View类

public class View {
    public void showUserInformation(User user) {
        System.out.println("username: " + user.getUsername());
        System.out.println("paaaword: " + user.getPassword());
    }
}

4.创建Service类

public class Service {
    public static void main(String[] args) {
        User user = new User();
        Dao dao = new Dao();
        View view = new View();

        dao.setUserInformation(user);
        view.showUserInformation(user);
    }
}

5.运行结果

username: zhangsan
paaaword: 123456

posted @ 2021-09-25 17:50  Dawnlight-_-  阅读(80)  评论(0编辑  收藏  举报