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

29

30

131

132

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184
