Ich habe ein bisschen über das Schauspielermodell gelesen, verstehe aber nicht wirklich, wie man Schauspieler in einer realen Situation einsetzt - wie man ein Problem mit ihnen modelliert.
Kann jemand bitte erklären? Ein einfaches Beispiel oder Links zu Beispielen wären sehr willkommen.
Antworten:
Akteure im Sinne von Modellierungsaktionen, Nachrichten usw. sind eine Methode zur Modellierung von Software, die einige nützliche Elemente bereitstellt ...
Akteure können von einem einzigen Thread leben, sodass nicht-thread-sichere / nicht-gleichzeitige Vorgänge ohne viel Locking-Magie stattfinden können. Ein Schauspieler antwortet auf Nachrichten in seinem Posteingang. Wenn Sie möchten, dass ein Befehl verarbeitet wird, senden Sie ihm eine Nachricht und er kümmert sich in der Reihenfolge ihres Eingangs um sie. Genau wie eine normale Warteschlange. Threadsafe ist hier ein Killer und ich benutze es in einer Reihe von Open-Source-Projekten, an denen ich arbeite.
In einigen Sprachen, z. B. in Scala, ist es einfach, akteursbasierten Code in einem einzigen Prozess in ein verteiltes System umzuwandeln, indem die Akteure getrennt und die von ihnen kommunizierten Kanäle in Remotekanäle umgewandelt werden. Dies ändert sich zwischen den Implementierungen dahingehend, wie einfach es ist, aber es ist eine großartige Funktion.
Hilft bei der Fokussierung auf aufgabenbasierte Ereignisse anstatt auf CRUD-Ereignisse. CRUD ist einfach, aber es ist wie die Interaktion mit einem Aktenschrank. Wenn wir in der von uns produzierten Software mehr Wert schaffen können, warum tun wir das dann? Das Verknüpfen mehrerer Aktionen mit einem einzigen "Update" -Befehl in einem aufgabenbasierten System ist nützlicher als nur das Speichern in der Datenbank. Dies betrifft auch Dinge wie CQRS.
quelle
Travis 'Antwort ist solide. Wenn Sie über Parallelität sprechen, versuchen Sie, Ressourcenprobleme zu lösen. Parallelität mit Threads und Sperren ist ziemlich leicht zu verwechseln. Das Darstellermodell hilft Ihnen dabei, gleichzeitig ablaufende Teile Ihres Codes als eigenständige Nuggets zu programmieren, die parallel und ohne Abhängigkeit von einem anderen Codeteil ausgeführt werden können. Sie versuchen, Unangenehmes wie Rennbedingungen und Deadlocks zu vermeiden.
Schauspieler sind wie du und ich in diesem Gespräch. Sie können einfach nicht in mein Gehirn greifen und herausfinden, was ich schreibe. Sie gaben mir eine Nachricht mit der Aufschrift "Warum existieren wir?" Ich setzte mich, knirschte ein paar Zahlen und schickte eine Antwort: "Ich denke, deshalb bin ich es." Du konntest nicht sagen, was ich auf meinem eigenen Stück Erde gemacht habe. Der einzige Kontakt, den du mit mir hast, sind die Botschaften, die wir hin und her schicken.
BEARBEITEN:
Sie haben nicht gesagt, in welchen Sprachen Sie sich wohl fühlen, aber Sie haben herausgefunden, ob in Ihrer Sprache eine Schauspielerimplementierung vorhanden ist. Am einfachsten wären vielleicht einige der Schauspieler-Bibliotheken in Python. Aber wahrscheinlich besser zum Lernen wäre Erlang. Die Sprache ist etwas rau, aber sobald Sie die Nuancen überwunden haben, ist es eine gute Sprache.
quelle
Akteure sind ein Element von Anwendungsfalldiagrammen, die jede externe Entität (Benutzer, externes System usw.) darstellen, die auf ein System einwirken kann. Jeder grundlegende Anwendungsfall wird Schauspieler enthalten - googeln Sie einfach "Anwendungsfall" für eine Fülle von Beispielen.
quelle