Frage

Ich bin ein WinForms-Programmierer vor; Ich habe immer Partition Programme, die ich in zwei Teilen zu schreiben, das Front-End (WinForms) und die mittlere Ebene (erleichtert durch Remoting / WCF)

An diesem Ansatz wird die Front-End-Code kann nicht auf die Linq oder System.Data.SqlClient. Aber das den Vorteil hat, dass die mittlere Ebene ist ein Instant-SOA-Bürger (serviceorientierte Architektur) kann in B2B-Szenarien verwendet wird, Datenbank-agnostisch und Internet-fähig, auch ist es nur eine WinForms-Anwendung.

Jetzt lerne ich Web-Fähigkeiten. Unter Verwendung des SportsStore Projektes aus dem Buch Pro ASP.NET MVC, ist es unvermeidlich, dass ich meinen alten vergleichen würde (?) Ansatz (die mittlere Ebene) und den Repository-Ansatz auf diesem Buch. Der Repository Ansatz setzt den Datenzugriffsmechanismus (Linq to SQL) direkt am Front-End (SportsStore.WubUI). Mit dem Repository-Ansatz hat der SportsStore.WebUI noch eine direkte Verbindung zur Datenbank.

Die Frage ist, auf Web-Programmen, soll ich die Front-End-aspire macht nur als Schnittstelle zu einer mittleren Ebene (so die Front-End-Datenbank-agnostisch sein kann und das Middle-Tier ist ein Instant-SOA-Bürger), oder soll ich die Datenbank direkt (mittels Repository Ansatz, ORM, oder ähnliches) auf Front-End?

War es hilfreich?

Lösung

Ich bin sicher, dass das Buch einige Best Practices für die der Kürze halber verletzt hat. Autoren haben zu balancieren „wie bekomme ich meinen Punkt über“ versus „was ist der richtige Weg, es zu tun“; sie in der Regel entscheidet sich für das erstere. (wie sie sollten - dies ist ein Buch über Web-Entwicklung, nicht um Architektur, rechts)

Sie sollten unbedingt weiterhin n-Tier-Architekturen verwenden. Der springende Punkt der n-Tier-Architektur ist es, Sie zu ermöglichen (mehr) leicht Swap aus den Schichten -. Schalter Datenbanken, Schalter Benutzeroberflächen (ersetzen WinForms mit ASP.NET, zum Beispiel)

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