Frage

Ich möchte ein Unternehmen App entwickeln, die eine Windowspräsentationsschicht, Mittelschicht-Komponenten für die Geschäftslogik und Datenzugriff und eine MSSQL-Server-Datenbank. Middle-Tier-Komponenten sollten einige Business-Objekte enthalten und werden von Präsentationsschicht mit .NET Remoting aufgerufen werden. Whitch ist die beste Art und Weise (und warum), diese Business-Objekte aus Präsentationsschicht zu verweisen?

  • A) Erstellen Klassenbibliotheksprojekt, Business-Objekte zu implementieren. Das Bezugs dieses Projekt von Präsentationsschicht und der mittleren Ebene Schicht.
  • B) Erstellen Sie Interface-Bibliothek Projekt definieren Business-Objekten. Erstellen Sie Klassenbibliothek Projekt Implementierung Schnittstellen. Referenzklassenbibliotheksprojekt von Middle-Tier-Schicht. Referenz-Interface-Bibliothek-Projekt von Präsentationsschicht.
  • C) Erstellen Sie separate Klassenbibliothek Projekte zur mittleren Ebene und Präsentationsschicht. Das Bezug entsprechendes Projekt von Präsentationsschicht.
War es hilfreich?

Lösung

Es gibt wahrscheinlich keine eindeutige und endgültige Antwort auf diese Frage hängt es davon ab, was Sie tun.

  • A wird oft als gut genug, um in vielen Fällen. Für kleine ‚Single App‘ Projekte gibt es nicht wirklich einen Grund, warum Sie nicht nur die Business-Objektbibliothek verweisen können direkt aus den beiden UI und BL Schichten. Es ist sicherlich die einfachste und manchmal Einfachheit ist am besten.

  • B ist wahrscheinlich die „beste“, Sie werden Ihre tatsächlichen Implementierungen entfernt werden abstrahiert so zukünftige Änderungen möglich sind, ohne zu brechen Verträge und Unit-Tests ist einfacher, wenn Sie Schnittstellen haben. Der andere Vorteil ist, dass Sie nicht finden, wird es zu schwierig, von B nach C in der Zukunft zu wechseln, wenn Sie es für notwendig erachten.

  • C ist wahrscheinlich übertrieben in den meisten Fällen. Das sei gesagt, bei größeren Projekten können Sie es für notwendig erachten. Ich habe auf große Client-Server-n-Tier-Anwendungen gearbeitet, die so viele wie drei unabhängige Sätze von Datenobjekten hatten. Ein Satz in der DA-Schicht verwendet zu kartieren und in der Datenbank gespeichert. Ein zweiter Satz in den Business-Logik und Netzwerkschichten für die Verarbeitung und Weitergabe über das Netzwerk, und der dritte Satz in dem Client an den UI für die Bindung. Es lohnt sich mit Hilfe von Schnittstellen für C unter Berücksichtigung auch wegen der Abstraktion Vorteile.

Alles in allem, ohne genau zu wissen, Ihre Anwendungsdomäne oder Umfang -. B ist ein guter Ausgangspunkt

Andere Tipps

Ich habe alle drei Ansätze funktionieren gut gesehen.

Was manchmal gut sein kann, ist mit A zu beginnen, dann, da die Komplexität erhöht sich auf B bewegen, dann C

In einfachen Projekten der „Business-Objekte“ kann im selben Projekt wie die Präsentation und Ausdauer Ebene einbezogen werden - obwohl es Ketzerei erscheinen mag, definiert die Objekte verschiedene Namensräume verwenden, kann genügend Abstand zwischen den „Schichten“ bereitzustellen.

Sie können die Verwendung von .NET Remoting zu überdenken - WCF ist bei weitem eine bessere Technologie und viel einfacher zu bedienen.

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