观察者模式

观察者模式的实现主要是委托事件
观察者就是当被观察者有变化时观察者也作出相应的变化

下面是猫和老鼠的一个观察者模式实现的demo
老鼠是观察者猫是被观察者
当观察者发现被观察者有了行动的时候观察者也就作出了相应的行动

其实很简单就是老鼠看着猫,猫来了老鼠就要跑

 class MainClass
    {
        public static void Main(string[] args)
        {
            Cat cat = new Cat("加菲猫", "黄色");
            Mouse mouse = new Mouse("米老鼠", "黑色",cat);
            //cat.ctaMome += mouse.MouseComing;
            cat.ctaComing();
        }
    }
    class Cat
    {
        public event Action ctaMome;
        private string Name;
        private string Coloc;
        public Cat(string name,string coloc)
        {
            this.Name = name;
            this.Coloc = coloc;
        }
        public void ctaComing()
        {
            Console.WriteLine(Coloc+"的猫"+Name+"进来了");
            if (ctaMome!=null)
            {
                ctaMome();
            }
        }
       }
    class Mouse
    {
        private string Name;
        private string Color;
        public Mouse(string name,string color,Cat cat)
        {
            this.Name = name;
            this.Color = color;
            cat.ctaMome += this.MouseComing;
        }
        public void MouseComing()
        {
            Console.WriteLine(Color + "的老鼠" + Name + "跑了");
        }
    }

你可能感兴趣的:(unity,c#,设计模式)