设计模式-行为设计模式:观察者模式 Observer

来源:互联网 发布:网络信息员岗位职责 编辑:程序博客网 时间:2024/05/17 23:26

观察者模式,就是某件事发生之后,会起连锁反应,发生一系列的事


通知接口

 public interface INotify    {        void Notify();    }

观察者类

public class Teacher:INotify    {        public void Moshou()        {            Console.WriteLine("老师来没收了手机");        }        public void Notify()        {            this.Moshou();        }    }

 public class Registrar:INotify    {        public void Jiaojiazhang()        {            Console.WriteLine("教务主任叫家长");        }        public void Notify()        {            this.Jiaojiazhang();        }    }

 public class Parent:INotify    {        public void Pangzou()        {            Console.WriteLine("家长带回家一顿胖揍");        }        public void Notify()        {            this.Pangzou();        }    }

触发事件类

 public class Student    {        public void GetPhone()        {            Console.WriteLine("学生上课拿出手机来玩");            if (inotifyList != null && inotifyList.Count > 0)            {                foreach (INotify item in inotifyList)                {                    item.Notify();                }            }        }        public List<INotify> inotifyList = new List<INotify>();        public void AddInotify(INotify inotify)        {            inotifyList.Add(inotify);        }           }

调用

Student stu = new Student();            stu.AddInotify(new Teacher());            stu.AddInotify(new Registrar());            stu.AddInotify(new Parent());            stu.GetPhone();


0 0
原创粉丝点击