31得票5回答
EventMachine与Node.js的比较

我打算开发一个协作网站,其中一个特点是具有实时更改的协同编辑功能。即当两个或多个用户同时编辑同一文档时,他们可以立即看到对方所做的更改。我对Ruby on Rails有一些经验,因此我正在考虑使用EventMachine,但由于Node.js周围存在如此之多的炒作,我现在正在考虑使用它。那么,...

9得票2回答
在 Reactor 中并行分发 `groupBy` 分组

我正在学习Reactor,我想知道如何实现特定的行为。 假设我有一系列传入的消息。 每个消息都与某个实体相关联并包含一些数据。 interface Message { String getEntityId(); Data getData(); } 不同实体相关的消息可以并...

7得票3回答
node.js在Web开发背景下扮演什么角色?

我知道node.js被称为基于V8 JavaScript引擎的"事件驱动I/O"服务器端JavaScript。我访问了node.js网站,然后阅读了维基百科条目,但仍无法完全理解何时使用它以及如何有用。"事件驱动I/O"?"V8 JavaScript引擎"?在某些情况下,我认为使用服务器端Ja...

50得票7回答
编写易于维护的事件驱动代码

我最近刚开始尝试事件驱动架构,之前是使用比较标准的面向对象思维。 我注意到的第一件事是,随着程序规模的增加,理解和追踪程序的难度似乎呈指数级增长。虽然小型项目很容易跟进,但感觉代码很快就会变得混乱。 我知道自己还处在新的开发思维阶段,不是所有面向对象编程的担忧都会延续下来。是否有关于编写可...

10得票5回答
在Scala中,我该如何将事件驱动编程与函数式编程相结合?

为了澄清我的事件驱动的含义,我指的是一个我有def onTrade(...) 每当某只股票交易时都会调用它。假设我想跟踪每日最高交易价格。对我来说,显而易见的解决方案是:var dailyHigh = 0 def onTrade(...) { if (price > daily...

41得票3回答
什么是SEDA(分层事件驱动架构)?

SEDA: An Architecture for Well-Conditioned, Scalable Internet Services "SEDA是分阶段事件驱动架构的缩写,将复杂的事件驱动应用程序分解为一组由队列连接的阶段。" 这是一种架构,并有许多SEDA的实现(请参见维基百科文...

12得票5回答
Win32事件驱动编程在底层是如何实现的?

在Win32 C++应用程序中,我们启动一个消息循环,该循环从队列中获取消息,将其翻译并进行分发。最终,每条消息都会到达我们的WndProc,以便处理相关事件。 我理解这部分内容。我不理解的是其间的过程,具体来说: 1. 不同类型的OS中断处理程序必须将消息放置在所述的“消息队列”中,但是...

14得票4回答
“事件驱动”和“面向对象”编程有什么关系?

现在,我几乎在各个地方听到“事件驱动”编程的说法。 维基百科称: 在计算机编程中,“事件驱动编程”是一种编程范式,程序的流程由用户操作(鼠标点击、按键等)、传感器输出或来自其他程序/线程的消息等事件决定。事件驱动编程是图形用户界面和其他应用程序(如JavaScript Web应用程序)中使...

8得票3回答
什么是事件驱动并发?

我开始学习Scala和函数式编程。我正在阅读《Programming scala: Tackle Multi-Core Complexity on the Java Virtual Machine》这本书的第一章,看到了“事件驱动并发”和“Actor模型”这个词。在继续阅读本书之前,我想了解一...

30得票5回答
学习事件驱动架构的好资源

寻找有关IT技术的书籍、博客、网站或视频。 目前我从Udi Dahan和Greg Young的博客中获得了很多价值,但我想知道是否还有其他值得倾听的专家?