Skip to main content
Version: 0.7.4

Claptrap Lifetime Scope

Der Claptrap-Lebenszyklus wird in zwei großen Kategorien beschrieben, je nach:Laufzeitlebenszyklus und Design-Time-Lebenszyklus des Autors.

Laufzeitlebenszyklus#

Der Laufzeitlebenszyklus bezieht sich auf das Lebenszyklusverhalten einzelner Objekte im Arbeitsspeicher während des Betriebs des Claptrap-Systems.Für:in einem Websystem wird jeder Webanforderung in der Regel ein Lebenszyklus zugewiesen, und das Claptrap-System verfügt über einen ähnlichen Lebenszyklusentwurf.Diese Lebenszyklen wirken sich auf Komponentenerweiterungen oder Geschäftsentwicklung für Entwickler aus.Der Laufzeitlebenszyklus des Claptrap-Frameworks ist in:Prozess, Claptrap und Ereignishandler unterteilt.

Prozessebene.Ein Objekt, das als Lebenszyklus auf Prozessebene konzipiert ist und im allgemeinen Sinne zu einem einzelnen Objekt gehört.Jeder ausgeführte Claptrap-Prozess verfügt über ein eigenes Singleton-Objekt.In der Regel, z. B. im Claptrap-Framework, um die Geschwindigkeit zu erhöhen, mit der Ereignisse in die Persistenzschicht geschrieben werden, entspricht jedes Persistenz-Layer-Ziel einem Batchprozessor (Batch Event Saver).Sie haben während des gesamten Lebenszyklus des Prozesses nur eine Instanz, die der entsprechenden Persistenzschicht 1:1 entspricht, sodass Ereignisse zusammengeführt und in die Persistenzschicht geschrieben werden können, wodurch die Schreibleistung verbessert wird.Im Allgemeinen weisen Objekte, die für einen Lebenszyklus auf Prozessebene entwickelt wurden, einen oder mehrere der folgenden characteristics:

  1. Logik oder Code, der während des gesamten Prozesslebenszyklus nur einmal ausgeführt werden muss.Dies kann in der Regel mit Lazy und Singletons erreicht werden.
  2. Während des gesamten Prozesslebenszyklus ist nur ein einzelnes Objekt erforderlich.Beispiel: Claptrap Design Store, Claptrap-Optionen usw.
  3. Es kann nur ein einzelnes Objekt während des gesamten Prozesslebenszyklus vorhanden sein.Zum Beispiel Orleans Client.

Claptrap-Ebene.Objekte im Claptrap-Lebenszyklus werden mit Der Claptrap-Aktivierung erstellt und mit der Inaktivierung von Claptrap freigegeben.Diese Objekte sind in der Regel stark mit einer Claptrap-Identität korreliert.Z. B. Claptrap Design, Event Saver, Event Loader, State Saver, State Loader usw., die der Claptrap-Identität zugeordnet sind.

Ereignishandler.Lebenszyklusobjekte auf Ereignisprozessorebene werden mit der Erstellung des Ereignisprozessors erstellt und mit der Veröffentlichung des Ereignisprozessors freigegeben.Diese Lebenszyklusebene ähnelt der der Webanforderung.In der Regel fällt die Arbeitseinheit für eine einheitliche Datenbanktransaktion auf diese Ebene.

Lebenszyklus der Entwurfszeit#

Der Lebenszyklus der Entwurfszeit bezieht sich auf den Lebenszyklus des Geschäftsobjekts für Claptrap.Dies hat nichts damit zu tun, ob das Programm ausgeführt wird oder nicht, oder sogar, ob das Programm verwendet wird.Um ein konkretes Beispiel zu nennen: Bestellungen in herkömmlichen E-Commerce-Systemen.Die aktive Geschäftsfrist für einen Auftrag beträgt in der Regel nicht mehr als drei bis sechs Monate.Wenn dieses Zeitlimit überschritten wird, können die Auftragsdaten nicht geändert werden.Hier wird die "drei bis sechs Monate" Frist als Entwurfszeit-Lebenszyklus eines Auftrags bezeichnet.Wenn ein Objekt in einem Claptrap-System seinen Entwurfszeitlebenszyklus überschritten hat, wird es als "Geschäft muss diese Claptrap nicht mehr aktivieren" dargestellt.Dies führt zu folgenden inferences:

  1. Die Ereignisse, die Claptrap gespeichert hat, sind bedeutungslos, und das Löschen gibt freien Speicherplatz frei.
  2. Der Geschäftscode für die Claptrap erfordert keine Wartung mehr, und Sie können den Verweis entfernen oder den Code entfernen.

Wenn Claptrap mit einem kürzeren Entwurfslebenszyklus entwickelt wurde, ist es daher förderlicher, den Ressourcenverbrauch und die Codewartungskosten zu senken und umgekehrt die Speicherkosten und Wartungsschwierigkeiten zu erhöhen.Daher wird bei der Entwicklung von Claptrap-Systemen eine Vorliebe für kürzere Lebensdauern der Entwurfszeit bevorzugt.Und dieser Begriff, aber auch eine direkte Antwort auf die Tatsache, dass es ganz durch "Design" bestimmt wird. Als Nächstes listen wir einige gängige Entwurfszeit-Lebenszyklusbereiche auf.

Abgrenzung der Geschäftsgrenzen#

Dies ist die häufigste Teilung.Die Geschäftsobjekte werden nach den Anforderungen der Domänenmodellierung aufgeteilt.Und diese Geschäftsobjekte haben in der Regel einen festen Lebenszyklus.Wie in der vorherigen "Ordnung" ist ein häufiges Beispiel für die Aufteilung von Lebenszyklen durch Geschäftsgrenzen.Bei der Aufteilung mit dieser Methode ist es nur wichtig zu beachten, dass Claptrap die grundlegenden Anforderungen "größer oder gleich dem minimalen wettbewerbsfähigen Ressourcenbereich" erfüllt.Entwickler können diese Aufteilung durch ein Beispiel für ein "Zugticketsystem" erleben.

Bedingte Grenzabgrenzung#

Im Allgemeinen kann ein vernünftiger Lebenszyklus bereits auf der Grundlage der Abgrenzung der Geschäftsgrenzen aufgeteilt werden.Objekte mit einem Entwurfszeitlebenszyklus können jedoch auftreten, wenn sie nur durch Geschäftsgrenzen geteilt werden.Angenommen, diese Objekte haben sehr dichte Ereignisoperationen.Dann wird die Anzahl der generierten Ereignisse ungewöhnlich groß sein.Dazu führen wir menschengesteuerte Wege ein, um den Lebenszyklus der Entwurfszeit zu verkürzen.Diese Aufteilung basiert auf bestimmten Bedingungen.Dies wird als bedingte Grenzabgrenzung bezeichnet.Und die klassischste davon ist die Verwendung von "Zeitlimitgrenzen", um zu teilen.

Hier veranschaulichen wir diese Aufteilung anhand der Warenkorbobjekte im Schnellstartbeispiel.Erstens ist ein Warenkorb ein benutzerbezogenes Objekt, das aktiviert werden kann, solange der Benutzer im System vorhanden ist, was bedeutet, dass sein Entwurfslebenszyklus "permanent" ist.Daher können verwandte Ereignisse nicht gelöscht werden und müssen dauerhaft gespeichert werden, um sicherzustellen, dass die Warenkorbdaten korrekt sind.Aber wenn wir uns nicht mehr darum kümmern, was vor einem Jahr mit dem Warenkorb passiert ist.Wir können den Warenkorb eines einzelnen Benutzers manuell nach Jahr teilen.Gleichzeitig können wir den Warenkorb in den nächsten zwei Jahren "kopieren".Damit werden die Statusdaten des Vorjahres fortgesetzt, was zu einem kürzeren Designlebenszyklus für den Einkaufswagen des Benutzers und ohne Auswirkungen auf das Geschäft führt.Wir können eine klassische chinesische Legende, "Fool es Mountain", verwenden, um diese zeitbasierte Design-Lebenszyklus-Division zu verstehen.In der Geschichte ist der Narr sterblich, obwohl kann nicht lange leben (kurze Design-Zeit-Lebenszyklus), aber der Geist des Narren (längere Design-Zeit-Lebenszyklus) kann mit zukünftigen Generationen und weiter, und damit kann das große Werk der bewegenden Berge zu vervollständigen.Wenn jede Generation von "Narren" ersetzt wird, tritt die oben erwähnte "Staatskopie" (spirituelle Fortsetzung) auf.So werden mit einem kürzeren Design-Lebenszyklus die Anforderungen eines längeren oder sogar permanenten Design-Time-Lebenszyklus realisiert.

"Narren bewegen sich mountains Taih, Wang House zwei Berge, siebenhundert Meilen Platz, sieben oder achttausend Fuß hoch, ursprünglich im südlichen Teil von Zhangzhou, dem Norden des gelben Nordufers des Flusses Norden. Unter dem Nordberg befindet sich ein Mann namens Fool Gong, der fast 90 Jahre alt ist und direkt gegenüber dem Berg wohnt.Unter der Behinderung im nördlichen Teil des Berges machte er einen Abstecher und rief die ganze Familie an, um it:zu besprechen: "Ich werde mein Bestes geben, um die steilen Berge zu graben, damit die Straße bis zum südlichen Teil von Yuzhou und zum Südufer von Hanshui führt, okay?" Alle sind sich einig.Seine Frau asked:"Mit deiner Kraft kann auch der Vater des Hügels nicht abgeflacht werden, kann tai Linie, das Haus des Königs wie?"Außerdem, wo hast du die Erde und die Steine hingelegt? "Die Leute sagen,:wir sie am Rande des Bohai-Meeres, der Nordseite der verborgenen Erde, werfen." Und der Narr führte die drei Leute, die die Last auf dem Berg tragen, den Stein meißeln, die Erde graben und mit einer Gurke 畚 das Meer transportieren konnten.Die Witwe eines Nachbarn, Jingcheng, hatte ein Waisenkind, das gerade sieben oder acht Jahre alt war, und sprang, um ihm zu helfen.Winter- und Sommersaison, um einmal hin und her zu gehen. Hequs weiser Mann lachte über den Narren und hielt ihn davon ab und sagte::"Du bist so dumm!"Mit Ihren Restjahren kann sich der Rest der Kraft auch ein Gras auf dem Berg nicht bewegen, aber auch der Bodenstein wie? Beishan lange sighed:"Dein Verstand ist wirklich stur, hartnäckig kann den Trick nicht öffnen, auch Waisenwitwen können nicht verglichen werden."Auch wenn ich sterbe, gibt es Söhne in ah; Söhne und Enkel, Enkel und Söhne; Söhne und Söhne und Enkel; Kinder und Enkel endlos, aber die Berge werden nicht zunehmen, aber auch Angst davor, ungleichmäßig zu graben? "Der Fluss Quzhi hat nichts zu beantworten. Der Berggott, der die Schlange hielt, hörte davon, aus Angst, dass er endlos graben und es dem Kaiser melden würde.Der Kaiser wurde von der Aufrichtigkeit des Narren bewegt und befahl den beiden Söhnen von Hercules Kwa, die beiden Berge wegzutragen, eines im östlichen Teil von Shufang und eines im südlichen Teil von Luzhou.Von diesem Punkt an, dem südlichen Teil von Luzhou bis zum Südufer von Hanshui, gibt es keine Berge mehr blockiert.