2010-03-31 74 views
3

当用户提交消息时,它是一个动作还是事件?行动和事件有什么区别?

+0

在哪个上下文中你是在谈论一个动作?一个ASP.Net MVC动作? – anthonyv 2010-03-31 01:47:37

+0

PHP,Elgg,控制器逻辑。 – Steven 2010-03-31 01:58:04

回答

3

用户仅提供动作(在对话等按压按键,作出选择)

这些动作得到[有时]转换成由底层框架事件。在概念上,事件可以理解为[通知]“消息”发送到隐式或显式地“注册”到底层框架以通知[针对特定类型的事件]的方法。实际上,框架只是用适当的参数调用这些方法,而这样的调用实际上是一个事件。

单词事件也用于指定特定类型的事件。例如,可以提到给定编辑框或其他UI元素的“更改”事件或“提交”事件。从这个意义上讲,事件并不是调用底层方法的机会的特定实例,而是保证调用方法的通用条件集合。

因此,用户并没有真正“提交的消息”的措辞中的问题,他/她需要在不同的UI元素的一些行动,而这些行动[可]导致该框架检测到的事实特定的事件类型(或几个)。该框架然后查找哪些方法当前被注册以接收相应的通知,然后框架调用这些方法,传递适当的参数(它们构成供方法使用的“消息”类)。

该模型背后的主要思想是为应用程序级提供特定的逻辑来处理事件,但不用担心系统和用户的每一次“移动”。该框架做到了这一点,并且可以信任通知相关的事件处理程序会有特定的用户动作(或系统条件,例如定时器达到其设定时间,网络数据包正在被接收等)等等。

相关问题