IUnitOfWork wie zu verwenden - best practice
Ich bin mit EF4.3.1 in einer .Net4.0 web-Formulare (nicht MVC!) - Anwendung.
Ich Neige dazu, verwenden Sie das repository-Muster mit einem IUnitOfWork-Schnittstelle. Aber ich Frage mich, wenn ich folgende best practices, vor allem da die meisten Beispiele, die ich verfolgt habe, sind basierend auf MVC apps.
Werde ich sagen, es ist nur eine kleine web-app, so beeinflussen können, dass die Lösung Entscheidungen.
Die Lösung hat derzeit 3 Projekte, Modell, Logik und die Website. Modell enthält die codefirst Entitäten und die IUnitOfWork-Schnittstelle. Die Logik enthält die Repositorys und service-layer. Website offensichtlich enthält die website codebehind, etc.
Ich benutze gar keine third-party injizieren utility (ninject, etc.). Ich manuell injizieren repositories mit einem IUnitOfWork d.h.
öffentlichen BookingRepository(IUnitOfWork unitOfWork)
Mache ich mir weniger klar, was zu tun mit der service-Layer ist, sollte die IUnitOfWork auch exisit in das Website-Projekt, oder existieren nur in der Logik und Modell-Schichten.
Derzeit ich Spritzen, ein repository und eine Einheit der Arbeit in einem service-d.h.
öffentlichen BookingService(IUnitOfWork unitOfWork, IBookingRepository repository, IAppSettings appSettings)
Aber dies bedeutet, dass die Begehung (save to db) erfolgt auf der Ebene der Site, aber ich Frage mich, ob es getan werden sollte, in die service-Schicht. Es bedeutet aber auch, dass seit meiner IUnitOfWork erklärt wird, in meinem Modell-Ebene, brauche ich eine Referenz zum Modell in meiner Website auch.
Was kann ich besser machen? Mache ich alles richtig? lol
InformationsquelleAutor raydenl | 2012-03-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dmitrij Recht. Hier ist eine Beispiel-Implementierung für eine Einheit der Arbeit. Der Vorteil hierbei ist, dass das unit of work pattern koordiniert die Arbeit der mehrere Repositorys mit der Durchsetzung einer einzigen Datenbank-Kontext-Klasse von allen geteilt.
Dies ist eine gute Ressource für den Anfang, um zu verstehen, wie diese Muster zusammen verwendet werden können. Es ist gültig für beide MVC und web Forms-Entwicklung. Die Implementierung des Repository und Unit of Work Pattern in eine ASP.NET MVC-Anwendung
InformationsquelleAutor Ben Ripley