Chapter 6.Events
在一个面向组件的程序中,对象通过让客户端调用方法和设置属性向客户端提供服务。但是如果一个客户端(或者多个)想要在该对象触发事件时得到通知怎么办?这种情况非常普遍,几乎每个应用程序都依赖于事件订阅与发布机制。
一个发布的对象可以触发多个客户端订阅的事件:
因为事件跟方法调用没什么区别,触发事件也没特别之处,因此我选择不将事件支持作为面向组件编程的核心原则。不过,这并不意味着组件技术的使用不应该试图缓解订阅和发布事件的工作。不用惊讶,.NET事件支持尽可能自动化该过程。本章从叙述.NET事件支持的本质概念开始,接着提供了一系列实践指导去有效地管理事件和扩展基本事件支持。