Heim  >  Artikel  >  Backend-Entwicklung  >  Verstehen Sie die mehrschichtige Architektur in ASP.NET

Verstehen Sie die mehrschichtige Architektur in ASP.NET

巴扎黑
巴扎黑Original
2017-08-03 13:13:372753Durchsuche

Die mehrschichtige Architektur von Asp.net dient hauptsächlich dazu, die Beziehung zwischen Datenschicht, Logikschicht, Präsentationsschicht usw. zu lösen. So mache ich es: Erstellen Sie zunächst eine DataCore-Basisklasse. Die Basisklasse kapselt einige grundlegende Datenbankoperationen auf niedriger Ebene, z. B. Datenbankverbindungen, Aufrufe gespeicherter Prozeduren usw.

Viele Menschen finden es schwierig, mehrschichtige Anwendungen zu entwickeln. Schauen wir uns ein Beispiel an: In einem kleinen Unternehmen mit nur ein oder zwei Personen kann eine Person gleichzeitig mehrere Aufgaben wie Chef, Kassierer, Buchhalter, Marketing, Vertrieb, Entwicklung usw. übernehmen. In einem großen Unternehmen gibt es eine strikte Arbeitsteilung. Jede Person erledigt nur einen Teil der Arbeit und muss zusammenarbeiten, um einen normalen Betrieb sicherzustellen. Das bisherige Entwicklungsprogramm ähnelte einem kleinen Unternehmen. Alle Funktionen von der Benutzeroberfläche bis zum Datenbankzugriff wurden auf einer Seite abgeschlossen. Die Nachteile davon sind:

1. Es ist schwierig zu entwickeln und schwer umzusetzen mehrere Personen. Kollaborative Entwicklung

2. Sobald sich die Datenbank oder die Regeln ändern, muss möglicherweise die gesamte Seite geändert werden, was die Wartungskosten erhöht

3. Da alle Funktionen miteinander vermischt sind, ist die Wiederverwendbarkeit des Programms gegeben arm. Wenn Sie ein neues Projekt entwickeln, müssen Sie den Code fast neu schreiben

Um dieses Problem zu lösen, haben die Leute das Konzept der „mehrschichtigen Anwendung“ vorgeschlagen, das im Wesentlichen einem großen Unternehmen ähnelt Klare Befugnisse und Arbeitsteilung auf der Seite. Legen Sie Funktionen wie Datenzugriff und Geschäftsregeln in speziellen Dateien fest. Die beliebtesten sind die zweistufige Architektur, die dreistufige Architektur und MVC.

1. Zweischichtige Architektur

Die zweischichtige Architektur unterteilt das Programm in eine Benutzeroberflächenschicht und eine Datenzugriffsschicht. Sein Kern besteht darin, den Code, der auf die Datenbank zugreift, in die Datenzugriffsschicht einzufügen, und die Benutzeroberflächenschicht betreibt die Datenbank über die Datenzugriffsschicht. Die Interaktionsbeziehung ist wie folgt: („<--->“ stellt einen Zwei-Wege-Pfeil dar)

Benutzeroberfläche<---> Datenbank

2. Dreischichtige Architektur

Die dreischichtige Architektur trennt die Geschäftslogik in der zweischichtigen Architektur von der Datenzugriffsschicht und wird zu einer separaten Geschäftslogik Schicht. Nach der Aufteilung des Programms in drei Schichten betreibt die Datenzugriffsschicht nur die Datenbank, während die Geschäftslogikschicht für verschiedene Datenverarbeitungen verantwortlich ist.
Es umfasst hauptsächlich 4 Komponenten der obersten Ebene: DAL (Datenverarbeitungsschicht), BLL (Geschäftslogikschicht), UI (Benutzeroberflächenschicht) und Modell (Entitätsmodell). Die ersten drei davon werden oft als dreischichtige Struktur bezeichnet.
1) Datenzugriffsschicht (Datenbankzugriffsschicht, DAL): Manchmal auch Persistenzschicht genannt, ihre Funktion ist hauptsächlich für den Datenbankzugriff verantwortlich. Vereinfacht ausgedrückt geht es darum, die Vorgänge „Auswählen“, „Einfügen“, „Aktualisieren“ und „Löschen“ in der Datentabelle zu implementieren. Wenn Sie ORM-Elemente hinzufügen möchten, umfasst dies die Zuordnung zwischen Objekten und Datentabellen sowie die Persistenz von Objektentitäten.
2) Geschäftslogikschicht (BLL): Sie ist der Kern des gesamten Systems Geschäft (Bereich) dieses Systems;
3) Präsentationsschicht (Benutzeroberflächenschicht, UIA): Sie ist der UI-Teil des Systems und ist für die Interaktion zwischen dem Benutzer und dem gesamten System verantwortlich. In dieser Schicht sollte im Idealfall die Geschäftslogik des Systems nicht einbezogen werden. Der logische Code in der Präsentationsschicht bezieht sich nur auf Schnittstellenelemente. 4) Entitätsmodellschicht (Modell): Enthält alle Dateninformationen, die in Form verschiedener Entitätsinstanzen vorliegen. Es ist die Grundebene des gesamten Systems.

Die perfekte dreischichtige Struktur sollte sein: Ändern Sie die Präsentationsschicht, ohne die Logikschicht zu ändern, und ändern Sie die zweite logische Schicht ohne Ändern der Datenzugriffsschicht. Erreichen Sie einen gewissen Grad an Entkopplung.

Die dreistufige Architektur macht vor allem die Projektstruktur klarer und die Arbeitsteilung klarer, was spätere Wartung und Upgrades begünstigt. Es löst das Problem der Codekapselung in verschiedenen Phasen jedes Geschäftsvorgangs in der gesamten Anwendung und ermöglicht es Programmierern, sich mehr auf die Verarbeitung der Geschäftslogik einer bestimmten Phase zu konzentrieren. Die Leistung kann jedoch nicht verbessert werden, da sich das Hauptprogrammmodul nur im Wartezustand befinden kann, wenn das Unterprogrammmodul nicht abgeschlossen ist. Dies zeigt, dass die Aufteilung der Anwendung in Schichten zu einem gewissen Verlust an Ausführungsgeschwindigkeit führt. Aber aus der Perspektive der Teamentwicklungseffizienz spürt man einen ganz anderen Effekt.

Es ist zu beachten, dass die dreistufige Architektur zwar viele Vorteile bietet, Ihr Programm jedoch sehr einfach ist oder in Zukunft definitiv nicht wiederverwendet wird oder die Verwendung einer zweistufigen Architektur nicht erforderlich ist Architektur, möglicherweise eine zweistufige oder normale Architektur verwenden Die Geschwindigkeit der Programmentwicklung wird schneller sein. Es sollte von Fall zu Fall und auf der Grundlage der tatsächlichen Situation geklärt werden.

3. MVC

M ist das Modell (Modellschicht), das hauptsächlich für die Geschäftslogik und die Datenbankinteraktion verantwortlich ist.
V ist die Ansicht (Ansichtsschicht), die hauptsächlich zum Anzeigen und Senden von Daten verwendet wird ist der Controller), der hauptsächlich zum Erfassen von Anforderungen und zum Steuern der Anforderungsweiterleitung verwendet wird.

MVC besteht aus mehreren Modulen mit unterschiedlichen Funktionen, die in die Ansichtsschicht der Anwendung (BS-Struktur) unterteilt sind, hauptsächlich zur Lösung des Problems der Anwendungsbenutzeroberfläche Was die Stilersetzung betrifft, sollte die HTML-Seite, auf der Daten angezeigt werden, so weit wie möglich vom Geschäftscode getrennt sein.

4. Der Unterschied zwischen der dreischichtigen Struktur und MVC

Sie können den Unterschied verstehen, indem Sie sich das Bild ansehen:

Abbildung 2. Der Unterschied zwischen MVC und dreischichtiger Architektur

Die dreischichtige Architektur besteht aus der Schnittstellenschicht (UI), der Geschäftslogikschicht (BLL) und Daten Zugriffsschicht (DAL), während MVC die Modellschicht (M) ist. Sie besteht aus der Schnittstellenschicht (Ansicht) und der Steuerschicht (Controller) und sie entsprechen einander nicht.

Wenn Sie darauf bestehen, sie abzugleichen, entspricht die Benutzeroberfläche in der dreistufigen Architektur der Ansicht in MVC, die zum Anzeigen und Abrufen von Schnittstellendaten der BLL-Schicht und der DAL-Schicht in der dreistufigen Architektur verwendet wird die Modellschicht in MVC Sie werden alle zur Verarbeitung von Daten verwendet, die von der oberen Schicht übergeben werden, und von der Datenbank erhaltenen Daten. Der Controller in MVC ist höchstens ein Teil der Benutzeroberfläche in der dreistufigen Architektur.

5. Dreistufige Architekturreferenzbeziehung

Modellebene: Referenziert kein Projekt;

DAL-Ebene: Referenziert das Modell durch Lesen der web. Die Assembly in config lädt die Instanz der Klasse und gibt sie zur Verwendung an BLL zurück;
UI-Ebene: bezieht sich auf Model, BLL; Die Methode befindet sich im Ressourcenmanager. Klicken Sie mit der rechten Maustaste auf die Projektdatei und fügen Sie eine Referenz hinzu. Wählen Sie im Popup-Dialogfeld das Projekt-Tag aus, wählen Sie die entsprechende Klassenbibliothek aus und klicken Sie auf OK. Fügen Sie dann „Referenced Class Namespace“ in der Projektdatei hinzu.

Das Projekt hat eine Referenz hinzugefügt, aber die angegebene Klassenbibliotheksdatei wird immer noch nicht gefunden. Sie können Folgendes überprüfen:

1. Liegt im referenzierten Projekt ein Syntaxfehler vor und ob das Hinzufügen mithilfe von „Namespace“ erfolgen soll. ; zur Header-Datei. 2. Beim Hinzufügen einer Klassenbibliothek, ob die Klassenbibliothek öffentlich ist.

Das obige ist der detaillierte Inhalt vonVerstehen Sie die mehrschichtige Architektur in ASP.NET. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn