我們正在致力於使用RMI和JMS連接到Java後端的富客戶端(用Flex編寫)。我正在考慮以DDD方式實現客戶端,以便它在域對象上具有CRUD操作的存儲庫。DDD和異步存儲庫
但問題是,所有的後端通信都發生異步,並且我沒有辦法強制客戶端等待它繼續收到響應。這意味着,在低層次上,我可以調用遠程對象的方法,並獲取AsyncToken作爲返回值。然後,我可以聽取asynctoken上的事件,查看通話是否已通過或失敗。然而,這破壞了存儲庫背後的主要想法,以隱藏來自客戶端的技術細節。
可能有2個選項我猜:
- 對資源庫中的方法返回的AsyncToken,這似乎是一個混亂的解決方案,我
- 有方法返回一個空的集合(一的findAll例如),當收到回覆時會被填滿。
兩者都有優點和缺點,我想從你們那裏得到一些意見。如果我們需要更好的緩存策略,那麼我不希望存儲庫每次向它請求所有實體時調用服務器,這會如何影響方法的簽名)。
剛剛發現這個,它對我很有用,所以我想我會加入它。我想你也想重載`addResponder(responder:IResponder)`,併爲任何已註冊的響應者調用`responder.result(一些空的結果對象)`。 – Ocelot20 2013-10-04 14:55:25