head first 设计模式学习随笔(2)----观察者模式

观察者模式,所谓观察者模式我个人认为就是一对多关系的依赖关系,核心内容在于发送者更新后传递给观察者 职责明确,发送者不需要知道观察者的具体工作内容,观察者只必须需要知道获取的数据格式然后按照相应的格式处理就是了。

以下是自己做的一个Demo 并加以说明

 

  1      接口 使用以下接口的好处是只要是符合接口定义的消息规则的信息都适用
 29
 30      发送者类 一共2种,黄金和股票
131
132      接收者 可以任意接收符合发送规格的主题信息
155
156      class  Program
157      {
158        static void Main(string[] args)
159        {
160            //定义发送者股票
161            ISender stock1 = new stock_1("工商银行","3.80");
162            //定义发送者黄金
163            ISender gold1 = new gold("黄金行情""160.58");
164            //定义3个观察者 观察者既能接收黄金行情 也能接收股票行情
165            IObserver observer1 = new Observer_1("老头");
166            IObserver observer2 = new Observer_1("年轻人");
167            IObserver observer3 = new Observer_1("中年人");
168            Console.WriteLine("--------------以下是股票行情----------------");
169            stock1.Add(observer1);
170            stock1.Add(observer2);
171            stock1.Add(observer3);
172            stock1.Update();
173            Console.WriteLine("--------------以下是黄金行情----------------");
174            gold1.Add(observer1);
175            gold1.Add(observer2);
176            gold1.Add(observer3);
177            gold1.Update();
178            Console.WriteLine("--------------黄金价格改变后,黄金行情----------------");
179            gold1.Price = "161.56";
180            gold1.Update();
181
182            Console.Read();
183        }

184    }

head first 设计模式学习随笔(2)----观察者模式

你可能感兴趣的:(观察者模式)