Okay, Leute, hier ist ein anderer für YA'LL:Tipps für einen Neuling zu N-Tier-Anwendungen
Ich bin in der n-Tier-Anwendungen Welt zu starten. Ich habe etwas zu diesem Thema gelesen, und der allgemeine Hinweis lautet, dass das Ziel von n-tier apps darin besteht, Funktionalitäts-Tween-Ebenen zu abstrahieren. Also, auf dieser Basis in einem n-tiered App das reguläre Modell ist:
Data Access -> Business Layer -> Presentation
Da ich ein .NET-Entwickler bin, dachte ich, dass die Integration mit mehreren Client-Typen zu verbessern (Silverlight, Web App oder sogar ein WinForms-Client) Ich sollte WCF (Windows Communication Foundation) als Datendienste auf der Business-Schicht verwenden, damit Clients unabhängig von ihrem Typ mit ihm kommunizieren können. Außerdem bin ich ein großer Fan von NHibernate als ORM. So geht meine Struktur wie folgt aus:
Data Access (NHibernate) -> Business Layer (WCF) -> Presentation (WPF, ASP.NET, WinForms
Okay, so dass die Einrichtung ist. Ich bin ein totaler Neuling in dieser Art von Ansatz, also dachte ich, ich könnte hier schreiben und um Rat bei diesem Setup bitten. Ich bin auch sehr verwirrt darüber, wie man das in einer VS-Lösung einrichtet. Ich mag es, Ebenen in verschiedenen Projekten zu trennen, aber was ist mit der Abstraktion von Datenobjekten (wie Kunde, Auftrag usw.)? Lege ich sie in eine separate Bibliothek? Und was ist mit WCF? Ich weiß, es ist ein Programmierfehler, die Datenklassen über die Leitung zum Client zu übertragen. Wie kann der Profi das erreichen?
Danke, jeder Rat würde sehr geschätzt werden.
1 - eine gute Frage, die Probleme auf den Punkt zu bringen. Es kann jedoch ein bisschen subjektiv sein. – Lucero
http://stackoverflow.com/questions/1650887/mixing-nhibernate-with-3-tier-developing – Lucero
Lucero, danke für die Antwort. Ich habe die Frage bereits überprüft, löst einige meiner Zweifel, aber leider mag ich seine Vorgehensweise nicht sehr. Jeder scheint dagegen zu sein, NHibernate-Entitätsobjekte direkt WCF auszusetzen, und das Poster bezieht die WCF-Services tatsächlich auf NHibernate, statt eine Mediator-Serviceklasse zu verwenden. Ich freue mich darauf, so weit wie möglich Abstraktion und Integration zu bieten. –