Muster zession

Sie sollten auch den Programmieraufwand berücksichtigen, der mit einer Implementierung des Sitzungsstatusmusters verbunden ist, und nicht nur die Gesamtleistung. Im Allgemeinen gilt: Je weniger der Sitzungsstatus, desto weniger ist ein Problem beim Hin- und Hersenden aus der Datenbank. Darüber hinaus sind Clustering- und Failover-Mechainismen einfacher zu entwerfen als mit Server Sitzungsstatus, da der Server wiederum nach Belieben repliziert und geschaltet werden kann. Das Problem ist jedoch, dass die meisten Menschen dort aufhören. Sie gehen dann fröhlich weiter und beginnen, Entitäten in Sessions zu wickeln, ohne den Rest dessen zu berücksichtigen, was das Fassadenmuster beschreibt und welche Auswirkungen es in einem EJB-Design hat. Dies ist wahrscheinlich durch die Informationen über Fassade “second-hand” sozusagen kommen, und nicht das ursprüngliche Muster zu studieren. Wenn wir uns die Zeit nehmen, die Auswirkungen von Facade zu verstehen, dann können wir eine Reihe anderer vorteilhafter Gestaltungsmöglichkeiten sehen, die dem Muster innewohnen. Es gibt eine Reihe von wichtigen Punkten, die über das Fassadenmuster in [Gamma] gemacht werden, die wir verstehen müssen. Die ersten paar finden Sie im Abschnitt Anwendbarkeit des Fassadenmusters, der beschreibt, wann Sie das Fassadenmuster anwenden möchten. Sie sind: “Verwenden Sie das Fassadenmuster, wenn… Sie möchten eine einfache Schnittstelle zu einem komplexen Subsystem bereitstellen” und “Verwenden Sie das Fassadenmuster, wenn… Sie Ihre Subsysteme überlagern möchten.

Verwenden Sie eine Fassade, um einen Einstiegspunkt für jede Subsystemebene zu definieren.” 2 Es gibt viele Variationen dieses Musters, und das ist der Grund, warum dies als Dokumentationsbeispiel und nicht als eingebautes Verhalten in Akka bereitgestellt wird. Es soll an Ihre spezifischen Bedürfnisse angepasst werden. Dieses Muster bringt uns wieder in den Kreis zu unserer ersten Diskussion über das Fassadenmuster. Die aufeinanderfolgende Schichtung in diesem Muster gibt uns die Möglichkeit, uns nur auf die anstehende Aufgabe zu konzentrieren, während wir gleichzeitig unsere Lösungen aus wiederverwendbaren Bits und Stücken zusammenstellen können. Wir sind nicht gezwungen, das gesamte System auf einmal zu entwerfen, sondern können diese Muster iterativ anwenden und beobachten, wie ein nützlicher Satz wiederverwendbarer Objekte als Ergebnis entsteht. Mit diesem Muster gewinnen Sie auf einer Seite der Leistung, da die Anwendungsebene zustandslos ist und nach Belieben repliziert werden kann: Der gesamte relevante Status wird in der Datenbank gespeichert. Sie müssen sich z. B. keine Gedanken darüber machen, dass ein Benutzer in Anforderungen an verschiedene HTTP-Server gesendet wird, da diese alle äquivalent sind und die erforderlichen Daten nach Entwurf aus der Datenbank abrufen. Die Anwendungsschicht wird aufgrund ihres benutzerdefinierten Codes häufig zu einem Engpass, lange bevor die Datenbank viel weniger spezialisiert ist als die Datenbank. Ein Antimuster (oder Antimuster) ist eine häufige Antwort auf ein wiederkehrendes Problem, das in der Regel ineffektiv ist und Gefahr läuft, sehr kontraproduktiv zu sein.

Dies ist ähnlich wie oben Pro Sitzung untergeordneten Actor-Muster. Manchmal wiederholen Sie möglicherweise die gleiche Art und Weise, Antworten zu aggregieren, und möchten dies einem wiederverwendbaren Akteur extrahieren. Ein Problem bei der Beschreibung von Mustern wie diesen besteht darin, dass die Beispiele, die groß genug sind, um die Verwendung des Musters zu rechtfertigen, zu groß sind, um sie in die Beschreibung des Musters selbst aufzunehmen.