结论:
设计模式是一种思想模式,其具体实现会根据语言的不同而发生微妙的变化。.Net中的委托和事件本来就是对回调的安全封装,是默认的观察者推模式的实现方案。因为.Net事件模式多数发生在界面上,当单线程访问时可以不使用Interlocked.CompareExchange方法,而是直接判断事件是否为空再调用事件。
转载请注明出处,本文章的代码下载页:观察者模式事件实现方案
结论:
设计模式是一种思想模式,其具体实现会根据语言的不同而发生微妙的变化。.Net中的委托和事件本来就是对回调的安全封装,是默认的观察者推模式的实现方案。因为.Net事件模式多数发生在界面上,当单线程访问时可以不使用Interlocked.CompareExchange方法,而是直接判断事件是否为空再调用事件。
转载请注明出处,本文章的代码下载页:观察者模式事件实现方案