C# 设计模式 行为型模式 之 中介者模式

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

实例:MVC 框架,其中C(控制器)就是 M(模型)和 V(视图)的中介者。

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

下面通过 代码示例 展示 中介者模式:

namespace 中介者模式
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //使用 User 对象来显示他们之间的通信
            User user1 = new User("张三");
            User user2 = new User("李四");
            user1.ShowMessage("你好李四");
            user2.ShowMessage("你好张三");
            /*
             * 控制台:
             *  2022/10/30 19:23:36:张三发送消息为:你好李四
                 2022/10/30 19:23:36:李四发送消息为:你好张三
             */

        }
    }
    //创建中介类
    public class ChatRoom
    {
        public static void ShowMessage(User user, string msg)
        {
            Console.WriteLine($"{DateTime.Now}:{user.GetName()}发送消息为:{msg}");
        }
    }
    //通信的 user
    public class User
    {
        private string name;
        public User(string name)
        {
            this.name = name;
        }
        public string GetName()
        {
            return name;
        }
        public void SetName(string name)
        {
            this.name=name;
        }
        public void ShowMessage(string msg)
        {
            ChatRoom.ShowMessage(this, msg);
        }
    }
}

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

你可能感兴趣的:(C#设计思想,设计模式,中介者模式,.net,c#)