乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

时间:2023-09-10 22:19:19
乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

原文:乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

[索引页][源码下载]

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

作者:webabcd





介绍

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





示例

有一个Message实体类,某个对象对它的操作有Send()和Insert()方法,现在用一个中介对象来封装这一系列的对象交互。

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)





MessageModel

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Text;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)namespace Pattern.Mediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// Message实体类

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    public class MessageModel

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 构造函数

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="msg">Message内容</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="pt">Message发布时间</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public MessageModel(string msg, DateTime pt)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            this._message = msg;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            this._publishTime = pt;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        private string _message;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// Message内容

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public string Message

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            get 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){ return _message; }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            set 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){ _message = value; }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        private DateTime _publishTime;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// Message发布时间

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public DateTime PublishTime

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            get 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){ return _publishTime; }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            set 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){ _publishTime = value; }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)}

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

AbstractMessageMediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Text;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)namespace Pattern.Mediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// 抽象中介者(Mediator)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    public abstract class AbstractMessageMediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 注册一个操作Message的对象

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="AbstractMessage">AbstractMessage</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public abstract void Register(AbstractMessage AbstractMessage);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 发送Message

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="from">来自UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="to">发送到UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public abstract string Send(string from, string to, MessageModel mm);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)}

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

MessageMediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Text;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)namespace Pattern.Mediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// 中介者(ConcreteMediator)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    public class MessageMediator : AbstractMessageMediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        private Dictionary<string, AbstractMessage> _dictionary = new Dictionary<string, AbstractMessage>();

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 注册一个操作Message的对象

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="abstractMessage">AbstractMessage</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public override void Register(AbstractMessage abstractMessage)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            if (!_dictionary.ContainsKey(abstractMessage.UserId))

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)                _dictionary.Add(abstractMessage.UserId, abstractMessage);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            abstractMessage.AbstractMessageMediator = this;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 发送Message

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="from">来自UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="to">发送到UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public override string Send(string from, string to, MessageModel mm)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            AbstractMessage abstractMessage = _dictionary[to];

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            if (abstractMessage != null)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)                return abstractMessage.Insert(from, mm);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            else

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)                return null;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)}

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

AbstractMessage

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Text;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)namespace Pattern.Mediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// 操作Message抽象类(Colleague)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    public abstract class AbstractMessage

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        private AbstractMessageMediator _abstractMessageMediator;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        private string _userId;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 构造函数

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="userId">UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public AbstractMessage(string userId)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            this._userId = userId;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// UserId

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public string UserId

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            get 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){ return _userId; }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 中介者

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public AbstractMessageMediator AbstractMessageMediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            get 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){ return _abstractMessageMediator; }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            set 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){ _abstractMessageMediator = value; }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 发送Message(由客户端调用)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="to">发送到UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public string Send(string to, MessageModel mm)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            return _abstractMessageMediator.Send(_userId, to, mm);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 接受Message(由中介者调用)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="from">来自UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public abstract string Insert(string from, MessageModel mm);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)}

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

SqlMessage

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Text;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)namespace Pattern.Mediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// Sql方式操作Message(ConcreteColleague)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    public class SqlMessage : AbstractMessage

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 构造函数

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="userId">UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public SqlMessage(string userId)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            : base(userId)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 接受Message(由中介者调用)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="from">来自UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public override string Insert(string from, MessageModel mm)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            return "Sql方式插入Message(" + from + "发送给" + base.UserId + ")"

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)                + " - 内容:" + mm.Message

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)                + " - 时间:" + mm.PublishTime.ToString();

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)}

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

XmlMessage

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Text;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)namespace Pattern.Mediator

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// Xml方式操作Message(ConcreteColleague)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    public class XmlMessage : AbstractMessage

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 构造函数

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="userId">UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public XmlMessage(string userId)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            : base(userId)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// 接受Message(由中介者调用)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// </summary>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="from">来自UserId</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <param name="mm">Message实体对象</param>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        public override string Insert(string from, MessageModel mm)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)            return "Xml方式插入Message(" + from + "发送给" + base.UserId + ")"

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)                + " - 内容:" + mm.Message

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)                + " - 时间:" + mm.PublishTime.ToString();

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)}

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

Test

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Data;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Configuration;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Collections;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Web;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Web.Security;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Web.UI;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Web.UI.WebControls;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Web.UI.WebControls.WebParts;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using System.Web.UI.HtmlControls;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)using Pattern.Mediator;

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)public partial class Mediator : System.Web.UI.Page

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    protected void Page_Load(object sender, EventArgs e)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    乐在其中设计模式(C#) - 中介者模式(Mediator Pattern){

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        AbstractMessageMediator messageMediator = new MessageMediator();

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        AbstractMessage user1 = new SqlMessage("user1");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        AbstractMessage user2 = new SqlMessage("user2");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        AbstractMessage user3 = new XmlMessage("user3");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        AbstractMessage user4 = new XmlMessage("user4");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        messageMediator.Register(user1);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        messageMediator.Register(user2);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        messageMediator.Register(user3);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        messageMediator.Register(user4);

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write(user1.Send("user2", new MessageModel("你好!", DateTime.Now)));

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write(user2.Send("user1", new MessageModel("我不好!", DateTime.Now)));

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write(user1.Send("user2", new MessageModel("不好就不好吧。", DateTime.Now)));

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write(user3.Send("user4", new MessageModel("吃了吗?", DateTime.Now)));

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write(user4.Send("user3", new MessageModel("没吃,你请我?", DateTime.Now)));

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write(user3.Send("user4", new MessageModel("不请。", DateTime.Now)));

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)    }

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)}

乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)

运行结果

Sql方式插入Message(user1发送给user2) - 内容:你好! - 时间:2007-5-19 23:43:19

Sql方式插入Message(user2发送给user1) - 内容:我不好! - 时间:2007-5-19 23:43:19

Sql方式插入Message(user1发送给user2) - 内容:不好就不好吧。 - 时间:2007-5-19 23:43:19

Xml方式插入Message(user3发送给user4) - 内容:吃了吗? - 时间:2007-5-19 23:43:19

Xml方式插入Message(user4发送给user3) - 内容:没吃,你请我? - 时间:2007-5-19 23:43:19

Xml方式插入Message(user3发送给user4) - 内容:不请。 - 时间:2007-5-19 23:43:19





参考

http://www.dofactory.com/Patterns/PatternMediator.aspx





OK

[源码下载]