Frage

Es fällt mir, dass die staatliche Kontrolle in Sprachen wie C # ist nicht gut unterstützt.

Damit meine ich, ist es bis zu dem Programmierer überlassen den Zustand der Objekte im Speicher zu verwalten. Ein gemeinsamer Anwendungsfall besteht darin, dass die Instanzvariablen in dem Domäne-Modell sind Kopien von Daten im Persistent-Speicher aufhalten (d.h. die Datenbank). Offensichtlich dies den einzigen Punkt Autoritätsprinzip verstößt und „Synchronisation“ vom Entwickler verwaltet werden.

ins Auge fasse ich ein System, bei dem anstelle von Instanzvariablen, wir haben einfach den Zugang der Öffentlichkeit / Mutatormethoden mit Attributen gekennzeichnet, die sie in die Datenbank verknüpfen, und wo Lese- und Schreibvorgänge werden durch einen Rahmen vermittelt, die entscheidet, ob die Datenbank zu treffen. Ist ein solches System gibt es?

Bin ich völlig fehlt der Punkt, oder gibt es eine Wahrheit zu dieser Idee?

War es hilfreich?

Lösung

Wenn ich richtig verstehe, was Sie wollen: Jeder OR-Mapper Lazy Loading auf diese Weise funktioniert. Zum Beispiel verwende ich Genom und dort jede Entität ist ein reiner Proxy und Sie haben ziemlich viel Einfluss das zu sagen, OR -Mapper, wie die Felder zwischenzuspeichern.

Andere Tipps

Eigentlich ist es das Konzept der Daten Prävalenz (umgesetzt als von Prevayler in Java), wo die Objekte im Speicher ist der einzige Punkt der Behörde (SPA) für die Daten.

Auch einige Objektdatenbanken (wie db4o ) blur Linien ein wenig zwischen der Objektdarstellung und dem „store "Darstellung.

Auf der anderen Seite, durch die SPA für die Daten innerhalb der Anwendung zu bringen, müssen Sie selbst Transaktionen und / oder Datenpersistenz behandeln. Es gibt einige Arbeiten an Transaktionsspeichersysteme getan wie JVSTM (derzeit in Verwendung durch das Informationssystem meiner alten Schule), aber es ist nicht weit verbreitet.

Auf der anderen Seite, wenn die Daten Leben in einer Datenbank, können Sie nur die Daten begehen, wenn alles gut (oder verwenden Sie die Unterstützung für in der Datenbank aufgebaut Transaktionen) und sicher sein, dass die Daten nicht beschädigt oder verloren. Sie handeln im SPA-Prinzip für eine bessere Datensicherheit und Transaktionen (und andere Vorteile der Verwendung eines separaten Datenspeicher verwendet wird)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top