程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 設計模式(C#) - 中介者模式(Mediator Pattern)(3)

設計模式(C#) - 中介者模式(Mediator Pattern)(3)

編輯:關於C語言

MessageMediator

using System;
using System.Collections.Generic;
using System.Text;

namespace Pattern.Mediator
{
  /**//// <summary>
  /// 中介者(ConcreteMediator)
  /// </summary>
  public class MessageMediator : AbstractMessageMediator
  {
    private Dictionary<string, AbstractMessage> _dictionary = new Dictionary<string, AbstractMessage>();

    /**//// <summary>
    /// 注冊一個操作Message的對象
    /// </summary>
    /// <param name="abstractMessage">AbstractMessage</param>
    public override void Register(AbstractMessage abstractMessage)
    {
      if (!_dictionary.ContainsKey(abstractMessage.UserId))
      {
        _dictionary.Add(abstractMessage.UserId, abstractMessage);
      }

      abstractMessage.AbstractMessageMediator = this;
    }

    /**//// <summary>
    /// 發送Message
    /// </summary>
    /// <param name="from">來自UserId</param>
    /// <param name="to">發送到UserId</param>
    /// <param name="mm">Message實體對象</param>
    /// <returns></returns>
    public override string Send(string from, string to, MessageModel mm)
    {
      AbstractMessage abstractMessage = _dictionary[to];
      if (abstractMessage != null)
      {
        return abstractMessage.Insert(from, mm);
      }
      else
      {
        return null;
      }
    }
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved