Frage

Wenn ich ein einfaches oder/m -Tool implementiere, wo platziere ich dann Identity Map? Offensichtlich sollte jedes Repository Zugriff auf seine eigene Identitätskarte haben, damit geladene Objekte registriert werden können (oder möglicherweise DataMapper ist derjenige, der Objekte in IdentityMap registriert?).

Und wenn ich eine Arbeitseinheit verpflichte, muss ich auch auf die Identitätskarte zugreifen, um zu sehen, welches Entität schmutzig ist und welche sauber ist (oder ich liege wieder falsch und es gibt ein äußeres Objekt, das Registerclean/RegisterDirty -Methoden meiner UnitOfwork -Klasse aufruft? Dann? Dann? Welches Objekt macht das?).

Bedeutet dies, dass ich IdentityMap als völlig unabhängiges Objekt implementieren sollte, das innere Identitätsmaps für jeden Entitätstyp enthält?

Wirklich verwirrt darüber, wie IdentityMap, Repository und Unitofwork alle zusammen funktionieren.

War es hilfreich?

Lösung

Mit unserer .NET O/R Mapper, Lichtgeschwindigkeit Wir haben die Identitätskarte in die Einheit der Arbeitsklasse platziert. Dies hat für uns sehr gut funktioniert und fühlt sich ganz natürlich an, da es effektiv als Cache der Stufe 1 für Abfragen während der Lebenseinheit fungiert.

Injizieren oder irgendwie eine UOW für Ihre Repository -Klasse angeben, damit Sie einen effektiven Umfang und ein effektives Gateway für die Abfrage haben.

Ich hoffe das hilft.

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