需要一些关于设计事件处理系统的建议。在高层次上,我的 Java 服务器接收各种请求,执行并响应(同步和异步)它们。
流程如下:
a) 低级类从客户端接收事件。此类具有对 MessageRouter 类的引用。一旦它得到事件,它就简单地调用 MessageRouter 上的 route(Event event)。
b) MessageRouter 类将事件排队并在一个单独的线程中,确定消息的类型,找到适当的处理程序并将消息传递给它。
c) 处理程序执行消息。
d) ResponseRouter 收集响应并将其写回。
我的问题是:
1)我应该如何设计 c)因为我需要引用 4-5 个其他“管理器”类来执行请求。此外,c) 是否应该引用 d) 以将响应路由回?
2)类似地,d)需要引用其他类来写回响应,因为它们可以同步和异步完成。ResponseRouter 是否应该引用它需要的所有类?
主要是,我正在寻找一种设计模式(或它们的组合)来以高效和优雅的方式执行事件及其响应。