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

IUnitOfWork sollte nicht weitergegeben werden ins repository, nur in Dienst. Siehe Beispiel hier stackoverflow.com/questions/9808577/...

InformationsquelleAutor raydenl | 2012-03-27

Schreibe einen Kommentar