请问在某处触发一个事件和在某处直接调用一个方法,有什么区别,触发一个事件一般用在什么地方?相对来说有什么好处呢?
(因为我看许多介绍事件的例子,都比较简单,似乎都可以通过调用方法来解决)不管是笼统还是详细的,请帮忙解解疑惑呢.新手,请不要鄙视俺。

解决方案 »

  1.   

    事件被定义在服务端,然后客户端实现事件处理方法并注册给服务端。而所谓的“调用”通常是指客户端调用服务端调用服务端的方法。例如一个“报表打印模块”它定义了一个事件“输出报表”,它在开发时并不知道自己的客户是谁,它只是定义事件接口。然后,一个“打印机”可以注册自己的事件处理方法来获得报表。同时一个“投影仪”也可以注册自己的时间处理方法来获得报表。使用事件的目的是一个服务通知自己的所有客户某个信息(事件发生),它在设计时并不需要知道自己的客户的接口。而调用则是客户在知道服务的接口的情况下才能实现的。
      

  2.   

    能够将组件之间的依赖关系“倒置”过来,这是架构师最常用的技术手段,能够让系统变得通用、清晰。