我们正在致力于使用RMI和JMS连接到Java后端的富客户端(用Flex编写)。我正在考虑以DDD方式实现客户端,以便它在域对象上具有CRUD操作的存储库。DDD和异步存储库
但问题是,所有的后端通信都发生异步,并且我没有办法强制客户端等待它继续收到响应。这意味着,在低层次上,我可以调用远程对象的方法,并获取AsyncToken作为返回值。然后,我可以听取asynctoken上的事件,查看通话是否已通过或失败。然而,这破坏了存储库背后的主要想法,以隐藏来自客户端的技术细节。
可能有2个选项我猜:
- 对资源库中的方法返回的AsyncToken,这似乎是一个混乱的解决方案,我
- 有方法返回一个空的集合(一的findAll例如),当收到回复时会被填满。
两者都有优点和缺点,我想从你们那里得到一些意见。如果我们需要更好的缓存策略,那么我不希望存储库每次向它请求所有实体时调用服务器,这会如何影响方法的签名)。
刚刚发现这个,它对我很有用,所以我想我会加入它。我想你也想重载`addResponder(responder:IResponder)`,并为任何已注册的响应者调用`responder.result(一些空的结果对象)`。 – Ocelot20 2013-10-04 14:55:25