事件驱动是一个不错的概念。但是业务并不关心编程方法,而是期望应用程序快速、健壮、容错等。
如果我有以下过程:
(ext. system) -> IData -> T1 -> T2 -> (ext. system)
我可以将 T1 和 T2 绑定在一起,如下所示:
class T1 {
void consume(IData data) {
t2.consume(data);
}
}
在事件驱动的方法中,我需要一个媒介,一个消息:
class T1 {
void accept(IData data) {
sendOut(new DataMessage(data));
}
}
因此,最终,会为每条数据创建另一个包装器。这会产生大量的垃圾,以便以后收集。
问题:如何在不创建任何包装器的情况下处理大量数据?