当前位置: 移动技术网 > IT编程>软件设计>设计模式 > 设计模式系列 - 中介者模式

设计模式系列 - 中介者模式

2019年01月01日  | 移动技术网IT编程  | 我要评论
中介者模式是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。 前言 中介者模式属于行为者模式,通过一个中介对象来封装一些列的对象交互,使对象之间解耦和,降低系统复杂度。 类图描述 代码实现 1、创建中介类 2、创建实体 3、 ...

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

前言

中介者模式属于行为者模式,通过一个中介对象来封装一些列的对象交互,使对象之间解耦和,降低系统复杂度。

类图描述

代码实现

1、创建中介类

public class chatroom
{
    public static void showmessage(user user, string message)
    {
        console.writeline($"{datetime.now} [{user.getname()}]:{message}");
    }
}

2、创建实体

public class user
{
    private string name;
    public user(string name)
    {
        this.name = name;
    }
    internal object getname()
    {
        return this.name;
    }

    public void setname(string name)
    {
        this.name = name;
    }

    public void sendmessage(string message)
    {
        chatroom.showmessage(this, message);
    }
}

3、上层调用

class program
{
    static void main(string[] args)
    {
        user robert = new user("robert");
        user john = new user("john");

        robert.sendmessage("hi! john!");
        john.sendmessage("hello! robert");

        console.readkey();
    }
}

总结

中介者模式通过为多个对象提供统一的通信方式进而简化对象之间的复杂引用关系,但是这种模式应该适可而止,否则到时候会使中介者过于庞大而难以维护。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网