触发事件和调用方法的异同
请问在某处触发一个事件和在某处直接调用一个方法,有什么区别,触发一个事件一般用在什么地方?相对来说有什么好处呢?
(因为我看许多介绍事件的例子,都比较简单,似乎都可以通过调用方法来解决)
不管是笼统还是详细的,请帮忙解解疑惑呢.
新手,请不要鄙视俺。
[解决办法]
事件被定义在服务端,然后客户端实现事件处理方法并注册给服务端。而所谓的“调用”通常是指客户端调用服务端调用服务端的方法。
例如一个“报表打印模块”它定义了一个事件“输出报表”,它在开发时并不知道自己的客户是谁,它只是定义事件接口。然后,一个“打印机”可以注册自己的事件处理方法来获得报表。同时一个“投影仪”也可以注册自己的时间处理方法来获得报表。
使用事件的目的是一个服务通知自己的所有客户某个信息(事件发生),它在设计时并不需要知道自己的客户的接口。而调用则是客户在知道服务的接口的情况下才能实现的。