/// <summary> /// 注册窃听接受者 /// </summary> /// <param name="observer"></param> public void RegisterMonitorObserver(IObserver observer) { //添加中介器 monitorObserverList.Add(observer); //向消息中心添加观察者 monitorMessageCenter.AddObserver(observer); }
/// <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); }
/// <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(); }