2013-05-24 16:57 "@32647908
"的内容
也能实现事件驱动机制. (可能没异步.) ...
关键是异步和并发,这两个概念是事件含义的一个重要特征,也是区别于观察者模式等一个重要因素。
实际生活中,事件的触发是无序可控的,对事件的响应当然要做到异步或并发,不能处理事件时按照同步来,因为同步可能发生堵塞或锁等情况,只能等处理完一个事件再处理另外一个事件。
从客户端和服务器概念来看,客户端发出大量事件到服务器(通过ajax等调用),服务器处理不能说,我一个个来处理,你们等着,当然,如果服务器达到最大处理量可以让事件排队。
我们谈论的事件驱动更重要的含义是消息驱动,消息是信封,事件是信函而已。
实际上,将B/S之间的机制搬迁到技术架构和业务领域模型之间,如果说浏览器发出大量事件交由服务器处理,业务领域模型也可能发生大量事件需要技术架构响应,比如大量同时读写数据库等等。
这两者的机制应该是一样。
更准确地说,异步事件必须有Actor模型来实现。Spring缺少Actor模型,现在Reactor补充了。
[该贴被banq于2013-05-24 17:46修改过]