设计模式-大话设计模式-行为型->观察者

点评

观察者模式是一个解耦模型。通俗的话来讲,当一个抽象关系中一方依赖于另外一方,观察者可以让双方各自独立。即被观察者不需要知道具体有的观察者(只关心自己的变化),观察者也不需要知道具体的被观察者的细节(只关系如何响应变化)。 整理下思路:观察者的设计模式,引申出了事件设计。在大大小小的框架都会有事件的身影,主要是很好用的设计。事件的颗粒度是方法,观察者的颗粒度是类。两者在设计思想上是完全一样的,只是作用域的范围。我们可以说观察者是对类的抽象;事件是对方法的抽象。观察者显得更为重度,讲究封装,结构会更加完整些;事件就会显得小巧,使用非常灵活。但牺牲的是结构,那么事件的分布会比较零散。在业务逻辑开发的时候,因为业务本身就比较的零散个人会比较倾向于事件,用起来比较的小巧,方便。事件在C#中已经得到语法层的支持————事件和委托。

注意点

使用观察者或者事件都应该注意循环触发。