2016-04-08 52 views
1

我試圖在演員模式中模擬酒店房間預訂系統。只是爲了讓我知道在.Net中使用akka.net。演員模式 - 如何模擬房間預訂結構?

現在我已經創建了以下演員。 1. HotelActor RoomsActor(的RoomActor集合體)
3. BookingsActor(的BookingActor集合體)
4. EmployeesActor(的EmployeeActor一個聚集)
4. UIActor

目前正如我已經計劃IAM創建系統如下。
1. UIActor採取BookingInformation(登記,結帳,房間數量)
2.告訴BookingsActor有關的信息。
3. BookingsActor創建/啓動一個新的BookingActor並傳遞信息

4.在BookingActor啓動它將
4A。時間表預訂房間
4b。告訴客房關於日程安排的事宜,以便他們自行阻止
4c。安排房間的員工任務
4d。告訴選定的員工他們的任務
4e。告訴系統預訂已創建
4f。告知BookingsActor在特定時間在 未來(實際預訂登記前24小時)重新啓動BookingActor並關閉。


問題IM掛麪
1.如何保持UIActor中的預訂信息
2. UIActor也應該能夠保存有關多個預訂信息同步(對於partiular客戶等)演員模式中應該如何以及應該在哪裏完成?
3.比方說,我想要多個預訂信息從Date1到Date2我應該在哪裏堅持這些信息以便以後檢索它?

回答

0

廣告1.你可以看到在akka bootcamp

和示例source例如同步調度員:

dispatcher = akka.actor.synchronized-dispatcher 
      #causes ChartingActor to run on the UI thread for WinForms 

廣告2. UI演員應該只收集來自用戶和顯示結果數據,所有其他行動需要被推下來進行處理,讓存儲演員

廣告3.你需要一個存儲提供者 - 可以是mongoDB或SQL解決方案。將消息傳遞給存儲參與者,您可以保留預留數據或在需要時進行回溯。