Ur :: objekt.

Transaktions-, abfragbare, prozessunabhängige Entitäten
Jetzt downloaden

Ur :: objekt. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Anthony Brummett
  • Website des Verlags:
  • http://search.cpan.org/~brummett/

Ur :: objekt. Stichworte


Ur :: objekt. Beschreibung

Transaktions-, abfragbare, prozessunabhängige Entitäten UR :: Objekte sind abfragen, transaktional, Darstellungen von Entitäten, die aufgebaut sind, um die Trennung zwischen der physikalischen Referenz in einem Programm aufrechtzuerhalten, und die logische Entität, die die Referenz darstellt, unter Verwendung einer gut definierten Schnittstelle.ur verwendet, dass Trennung automatisch E / A umgehen kann . Es bietet eine Abfrage-API und verwaltet den Unterschied zwischen dem Zustand der Entitäten in der Anwendung und ihrem Zustand in externen Persistenzsystemen. Es zielt darauf ab, dies transparent zu tun, die E / A-Logik orthogonal auf "Business Logic" aufrechtzuerhalten, und hoffentlich, dass Code um E / A nicht erforderlich ist, um überhaupt für die meisten Programme aufzuschreiben. fordert Objekte aus dem aktuellen "Kontext" nach ihren Eigenschaften an. Der Kontext verwaltet Datenbankverbindungen, Objektzustandsänderungen, Referenzen, Beziehungen, In-Memory-Transaktionen, Abfragen und Zwischenspeicherung in abstimmbarer Weise. Dynamische Herstellung von Referenzen dynamisch Fabrifizieren Sie dynamisch, wie dies durch dieselbe Abfrage-API benötigt wird, sodass Objekte, da der Entwickler traditionell erwartet würde meiste Fälle. Das Ziel von UR :: Objekt ist, dass Ihre Anwendung nicht das Datenmanagement erstellen muss. Fragen Sie einfach nach dem, was Sie wollen, verwenden Sie es, und lassen Sie es gehen.ur :: Objekte unterstützen volle Reflexion und Meta-Programmierung. Die META-Objekt-Layer ist vollständig self-bootstrapping (die meisten Klassen, von denen ur komponiert ist, sind selbst ur :: Objekte), sodass die Klassendaten introspektet werden können, so dass auch Klassen in Transaktionen erstellt und verworfen werden. Im aktuellen Kontext und zurückgeben: $ ELMO = ACME :: Puppe-> Erstellen (Name => 'ELMO', Vater => $ Ernie, Mutter => $ Bigbird, Jobs => , favorit_color => 'rot',); einfache Accessors arbeiten in typischer Mode: $ color = $ elmo-> favorit_color (); Änderungen auftreten in einer Transaktion im aktuellen Kontext: $ elmo-> favorit_color ('blau'); nicht -Scalar (HAS_MANY) Immobilien haben eine Vielzahl von Accessors: @Jobs = $ ELMO-> Jobs (); $ Jobs = $ ELMO-> job_arrayref (); $ set = $ ELMO-> job_set (); $ iter = $ elmo-> job_iterator (); $ Job = $ ELMO-> ADD_JOB ($ SNORE); $ suctring = $ elmo-> remove_job ($ singen); Abfrage den aktuellen Kontext, um Objekte zu finden: $ ethlpowers_obj = acme :: puppet-> get (name => 'elmo'); # gleiche Referenz als $ vorhanden_obj @existing_objs = acme :: puppet-> get (favorit_color => ,); # Dies wird nicht ELMO bekommen, weil seine Lieblingsfarbe jetzt blau ist @Existing_objs = acme :: puppet-> get (job => $ snore); # Dies wird $ ELMO zusammen mit anderen Puppen zurücksenden, die schnarken, #, obwohl wir den Änderungswechsel noch nicht gerettet haben. > Löschen; $ elmo-> spielen; # Dies wirft eine Ausnahme, jetzt $ ELMO = ACME :: Puppe-> Get (Name => 'ELMO'); # Dies kehrt nichts an, nunmehr ein Scherz: ur :: context-> aktuell-> rollback; # keine Datenbank-Rollback, ein In-Memory-Rückgängig-Rückgängig-Mal # wieder zurück! Anforderungen: · Perl.


Ur :: objekt. Zugehörige Software