2016-04-08 9 views
1

Ich versuche Hotel Hotelzimmer Buchungssystem in Schauspieler Muster zu modellieren. nur zur Information benutze ich akka.net dafür in .Net.Schauspieler Muster - Wie Raumbuchungsstruktur zu modellieren?

Für jetzt habe ich folgende Akteure erstellt. 1. HotelActor RoomsActor (ein Aggregat von RoomActor)
3. BookingsActor (ein Aggregat von BookingActor)
4. EmployeesActor (ein Aggregat von EmployeeActor)
4. UIActor

Zeit wie ich habe IAM Erstellen der geplanten System wie folgt.
1. UIActor Nimmt die BookingInformation (Checkin, Checkout, Anzahl der Zimmer)
2. Informieren Sie die BookingsActor über die Informationen.
3. BookingsActor erstellt/startet eine neue BookingActor und leitet die Informationen

4. Auf BookingActor starten, es wird
4a. Zeitplan Zimmer für die Buchung
4b. Informieren Sie die Zimmer über den Zeitplan, so dass sie sich selbst blockieren
4c. Planen Sie Mitarbeiteraufgaben für die Räume ein
4d. Informieren Sie die ausgewählten Mitarbeiter über ihre Aufgaben
4e. Informieren Sie das System, dass die Buchung erstellt wurde
4f. Bitten Sie den BookingsActor, den BookingActor zu einem bestimmten Zeitpunkt unter in der Zukunft (24 Stunden vor der eigentlichen Buchung) neu zu starten und herunterzufahren.


Probleme im Verkleidung ist
1. Wie der UIActor synchron der Buchungsinformationen halten
2. Der UIActor auch Informationen über mehrere Buchungen sollte in der Lage zu speichern (für einen partiular Kunden usw.) Wie und wo sollte es in einem Actor Pattern gemacht werden?
3. Sagen wir, ich möchte die Informationen über mehrere Buchungen Von Datum1 bis Datum2 Wo sollte ich diese Informationen beibehalten, um sie später wiederzufinden?

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

ad 2. UI Schauspieler sollten nur Daten von Benutzer und Anzeigeergebnisse sammeln, alle anderen Aktionen:

Antwort

0

ad 1. Sie können beispielsweise synchron Dispatcher in akka bootcamp

und Beispiel source sehen müssen für die Verarbeitung nach unten gedrückt werden, um Speicher-Aktor

ad 3. Sie brauchen einen Speicheranbieter - das kann MongoDB oder SQL-Lösung sein. Wenn Sie eine Nachricht an den Speicheractor übergeben, können Sie Reservierungsdaten beibehalten oder bei Bedarf reaktivieren.

Verwandte Themen