首页 / 软件开发 / C# / 观察者模式的c#例子
观察者模式的c#例子2011-03-25 csdn博客 may Devilusing System; using System.Collections.Generic; using System.Text; using System.Collections; namespace ConsoleApplication1 { public class singleon { public singleon() { // // TODO: 在此处添加构造函数逻辑 // } } public interface XH_Subject { void smile(Observers obs); } public interface Observers { void say(); } public class XH: XH_Subject { private ArrayList all; public XH() { all = new ArrayList(); } #region XH_Subject 成员 public void smile(Observers obs) { all.Add(obs); } #endregion public void cry() { Console.WriteLine("cry and all!"); foreach (Observers obs in all) { obs.say(); } } } public class wo: Observers { private string name; public wo(string name, XH_Subject xh_sub) { this.name = name; xh_sub.smile(this); } #region Observers 成员 public void say() { Console.WriteLine("say something take care of her! "); } #endregion } public class jz : Observers { private string name; public jz(string name, XH_Subject xh_sub) { this.name = name; xh_sub.smile(this); } #region Observers 成员 public void say() { Console.WriteLine("I fu le you!"); } #endregion } class Client_Factory { [STAThread] static void Main(string[] args) { ConsoleApplication1.XH h = new XH(); XH_Subject sub = h; ConsoleApplication1.wo me = new wo("devil", sub); ConsoleApplication1.jz j = new jz("N_man", sub); h.cry(); } } }
收藏该网址