你的位置:首页 > 软件开发 > ASP.net > 观察者模式:猫叫鼠跑人醒(C#)

观察者模式:猫叫鼠跑人醒(C#)

发布时间:2015-10-16 17:00:11
本着菜鸟先飞的想法,决定把平时遇到的知识点记录下来,一来是加深理解,二来是方便以后自己查阅。当您看到我这篇文章的时候,觉得代码有哪里不足的地方,请多指教,谢谢。(命名不规范是为了加深自己的理解,多多见谅。) 观察者模式:即当目标对象状态或者是行为发生改变时,正在观察该目标对 ...

  本着菜鸟先飞的想法,决定把平时遇到的知识点记录下来,一来是加深理解,二来是方便以后自己查阅。当您看到我这篇文章的时候,觉得代码有哪里不足的地方,请多指教,谢谢。(命名不规范是为了加深自己的理解,多多见谅。)

  观察者模式:即当目标对象状态或者是行为发生改变时,正在观察该目标对象的观察者们做出一系列自动反应。

  

1.接口实现public interface Oberver{void 坐出反应();}public interface BObserver{void 反应(Oberver o);}public class 老鼠 : Oberver{public 老鼠(BObserver b){b.反应(this);}public void 坐出反应(){Console.WriteLine("老鼠跑了...");}}public class 人 : Oberver{public 人(BObserver b){b.反应(this);}public void 坐出反应(){Console.WriteLine("人醒了...");}}public class 猫 : BObserver{List<Oberver> list;public 猫(){list = new List<Oberver>();}public void 反应(Oberver o){list.Add(o);}public void 猫叫(){foreach (Oberver o in list){o.坐出反应();}}2.委托和事件public delegate void 处理();public abstract class 被观察{public event 处理 处理事件;public void Test(){if (处理事件 != null) this.处理事件();} }public class 猫 : 被观察{public void 猫叫(){Console.WriteLine("猫叫了!");this.Test();}}public abstract class 观察者2{public 观察者2(被观察 b){b.处理事件 += new 处理(观察做出反应);}public abstract void 观察做出反应();}public class 老鼠 : 观察者2{public 老鼠(被观察 b) : base(b) { }public override void 观察做出反应(){Console.WriteLine("老鼠跑了......");}}public class 人 : 观察者2{public 人(被观察 b) : base(b) { }public override void 观察做出反应(){Console.WriteLine("人醒了......");}}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:观察者模式:猫叫鼠跑人醒(C#)

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录