Exemplo n.º 1
0
 /// <summary>
 /// 注册功能接受者
 /// </summary>
 /// <param name="mediator"></param>
 public void RegisterObserver(string ObserverName, IObserver mediator)
 {
     //如果Map里是有此中介器,则移除消息中心的观察者
     if (mediatorMap.ContainsKey(ObserverName))
     {
         messageCenter.RemoveObserver(mediator);
     }
     //添加中介器
     mediatorMap[ObserverName] = mediator;
     //向消息中心添加观察者
     messageCenter.AddObserver(mediator);
 }
Exemplo n.º 2
0
 /// <summary>
 ///  注册IProxy
 /// </summary>
 /// <param name="proxy"></param>
 public void RegisterProxy(IProxy proxy)
 {
     //如果Map里右Proxy,则关闭该代理者
     if (proxyMap.ContainsValue(proxy))
     {
         proxyMap[proxy.ProxyType].Close();
         //如果Map里是有此代理者,则移除消息中心的以前的代理者
         messageCenter.RemoveObserver(proxyMap[proxy.ProxyType]);
     }
     //注册
     proxyMap[proxy.ProxyType] = proxy;
     //向消息中心添加观察者
     messageCenter.AddObserver(proxy);
     //初始化
     proxy.Initialize();
 }