zoukankan      html  css  js  c++  java
  • Mediator 中介者模式

    public abstract class Element
        {
            protected Mediator mediator;
    
            public Element( Mediator mediator )
            {
                this.mediator = mediator;
                this.mediator.AddElement( this );
            }
    
            public virtual void OnChange()
            {
                mediator.Notify();
            }
        }
    public abstract class Mediator
        {
            IList<Element> list;
    
            public abstract void Notify();
            public virtual void AddElement( Element element )
            {
                if( list == null )
                {
                    list.Add( element );
                }
            }
        }
    public class ClipBorad:Element
        {
            public ClipBorad( Mediator mediator )
                : base( mediator )
            {
            }
    
            public void Invoke()
            {
                OnChange();
            }
        }
      public class ConcreteMediator:Mediator
        {
            public override void Notify()
            {
            }
        }
    public class CutMenuItem:Element
        {
            public CutMenuItem( Mediator mediator )
                : base( mediator )
            {
            }
    
            public void Click()
            {
                mediator.Notify();
            }
        }
        public class TextArea:Element
        {
            public TextArea( Mediator mediator )
                : base( mediator )
            {
            }
    
            public void Process()
            {
                mediator.Notify();
            }
        }
     public class ToolBarButton:Element
        {
            public ToolBarButton( Mediator mediator )
                : base( mediator )
            {
            }
    
            public void Click()
            {
                OnChange();
            }
        }
  • 相关阅读:
    2016年第七届蓝桥杯C/C++ A组国赛 —— 第一题:随意组合
    寻找段落
    攻击火星
    图论入门
    实数加法
    求 10000 以内 n 的阶乘
    大整数因子
    计算2的N次方
    大整数减法
    大整数加法
  • 原文地址:https://www.cnblogs.com/wangchuang/p/3014389.html
Copyright © 2011-2022 走看看