预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

介绍用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。示例有一个Message实体类,某个对象对它的操作有Send()和Insert()方法,现在用一个中介对象来封装这一系列的对象交互。MessageModel usingSystem;usingSystem.Collections.Generic;usingSystem.Text;HYPERLINK"http://ming.ttplay8.cn"http://ming.ttplay8.cnnamespacePattern.Mediator{/**////<summary>///Message实体类///</summary>publicclassMessageModel{/**////<summary>///构造函数///</summary>///<paramname="msg">Message内容</param>///<paramname="pt">Message发布时间</param>publicMessageModel(stringmsg,DateTimept){this._message=msg;this._publishTime=pt;}privatestring_message;/**////<summary>///Message内容///</summary>publicstringMessage{get{return_message;}set{_message=value;}}privateDateTime_publishTime;/**////<summary>///Message发布时间///</summary>publicDateTimePublishTime{get{return_publishTime;}set{_publishTime=value;}}}} AbstractMessageMediator usingSystem;usingSystem.Collections.Generic;usingSystem.Text;HYPERLINK"http://zhufu.fzl1314.com"http://zhufu.fzl1314.comnamespacePattern.Mediator{/**////<summary>///抽象中介者(Mediator)///</summary>publicabstractclassAbstractMessageMediator{/**////<summary>///注册一个操作Message的对象///</summary>///<paramname="AbstractMessage">AbstractMessage</param>publicabstractvoidRegister(AbstractMessageAbstractMessage);/**////<summary>///发送Message///</summary>///<paramname="from">来自UserId</param>///<paramname="to">发送到UserId</param>///<paramname="mm">Message实体对象</param>///<returns></returns>publicabstractstringSend(stringfrom,stringto,MessageModelmm);}} MessageMediator usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Mediator{/**////<summary>///中介者(ConcreteMediator)///</summary>publicclassMessageMediator:AbstractMessageMediator{privateDictionary<string,AbstractMessage>_dictionary=newDictionary<string,AbstractMessage>();/**////<summary>///注册一个操作Message的对象///</summary>///<paramname="abstractMessage">AbstractMessage</param>publicoverridevoidRegister(AbstractMessageabstractMessage){if(!_dictionary.ContainsKey(abstractMessage.UserId)){_d