关于观察者模式有些疑问 = =
观察者设计模式能够解决一对多的问题 但是能不能解决多对多的问题?
比如 A被C、D、E观察,B被C、D、E观察,A与B没有任何关系
问 这种情况该怎么处理?
[解决办法]
...这不是问题
看这个大话设计模式上的例子
static void Main(string[] args)
{
//老板胡汉三
Boss huhansan = new Boss();
//看股票的同事
StockObserver tongshi1 = new StockObserver("魏关姹", huhansan);
//看NBA的同事
NBAObserver tongshi2 = new NBAObserver("易管查", huhansan);
huhansan.Update += new EventHandler(tongshi1.CloseStockMarket);
huhansan.Update += new EventHandler(tongshi2.CloseNBADirectSeeding);
//老板回来
huhansan.SubjectState = "我胡汉三回来了!";
//发出通知
huhansan.Notify();
Console.Read();
}
//总监王麻子
Zongjian wangmazi = new Zongjian();
//看股票的同事
StockObserver tongshi1 = new StockObserver("魏关姹", wangmazi );
//看NBA的同事
NBAObserver tongshi2 = new NBAObserver("易管查", wangmazi );
wangmazi.Update += new EventHandler(tongshi1.CloseStockMarket);
wangmazi.Update += new EventHandler(tongshi2.CloseNBADirectSeeding);
//总监回来
wangmazi.SubjectState = "我王麻子回来了!";
//发出通知
wangmazi.Notify();
Console.Read();