2009-04-24 21 views
2

Ich hatte ein wenig Diskussion mit einem Freund von mir über die Verwendung von Entity-Framework. Ich hatte ein Projekt, bei dem ich eine 3-Tier-Lösung mit dem Entitätsframework als Datenlayer erstellte und mithilfe von Datenübertragungsobjekten von der Geschäftsschicht zur Benutzeroberfläche wechselte. Ich mochte wirklich die lose Kopplung, die es gibt, da ich das Entity-Framework mit z.B. überwintert später. Mein Freund dagegen argumentierte, dass der Zweck des Entity-Frameworks darin bestehe, es so zu modellieren, dass es auf der Benutzeroberfläche verwendet werden könne. Wie verbinden Sie das Entity Framework mit Ihrer Lösung?Entity Framework und Kopplung

+1

Sie müssen den Titel Ihres Beitrags bearbeiten. Es heißt "Entity facebook" statt "Entity Framework" :-) –

+0

Ich war zu schnell auf meine Frage. Es sollte Entity Framework geschrieben haben und nicht Entity Facebook :) – Dofs

Antwort

2

Ich sehe die Idee, dass mein Freund mit den austauschbaren Schichten Hibernate und EF vorschlägt, aber ich denke, es ist etwas drastisch, da diese beiden Frameworks bereits DL-> BL-Fähigkeiten enthalten. Ich denke, der Grund für die Frameworks wie EF und Hibernate sind diese, in priorisierter Reihenfolge:

1. Direkte Verwendung von Entitäten in Business-Logik
2. Datenbanktyp Unabhängigkeit
3. Automatische Caching
4. SQL-Abstraction

Die Erwartung, dass ein Framework wie dieses auch locker mit den Ebenen verbunden sein sollte, würde nur zu viel Parsing, Objektumbruch und -auspacken und verschiedenes Rauschen erfordern, um die Austauschbarkeit auszugleichen, die niemals Wirklichkeit werden könnte. Wie ich es sehe, würde sein Vorschlag zu dem Äquivalent von:
DL -> DL -> BL -> UL
Wer ist damit einverstanden?

+0

Ich denke, du hast mich missverstanden. Wenn ich das DTO verwende, benutze ich auf dem Businesslayer das EF und wenn die Berechnungen abgeschlossen sind, führe ich meine Transformation in EF-Objekt -> Data Transfer Object um und übergebe es an die Benutzerschnittstelle. – Dofs

+0

Nachdem ich die Seite bekommen hatte, fand ich heraus, dass Boxen und Unboxing viel zu langsam war ... – Dofs