事件驱动是一个很好的概念。但业务并不关心编程方法,而是期望应用程序快速,健壮,容错等。
如果我有以下过程:
(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));
}
}
因此,最终,为每一条数据创建了另一个包装器。这会产生大量垃圾,以后再收集。
问题如何处理大量数据,而根本不创建任何包装器?