Heim  >  Artikel  >  Backend-Entwicklung  >  Dreistufige Architektur und Schweinehaltung

Dreistufige Architektur und Schweinehaltung

巴扎黑
巴扎黑Original
2017-04-30 10:26:041669Durchsuche

Um Anfängern den Einstieg zu erleichtern, verwenden wir hier immer noch eine interessante Methode, um über einige allgemeine technische Punkte zu sprechen, die der schnellen Verbesserung von .NET-Neulingen gewidmet sind! Wissen ist allgegenwärtig, der Schlüssel liegt in der Idee des Lernens. Technologie entsteht aus dem Leben, und Technologie kann auf diese Weise erlernt werden. Ich werfe einfach ein paar Steine ​​und Mörtel.

Hierarchische Strukturen sind überall in der realen Gesellschaft zu sehen. Ich erinnere mich an einen Witz über einen Dorfvorsteher, der vor seiner Frau stolz prahlte: „Es gibt in China nur vier Menschen, die höhere offizielle Positionen innehaben als ich, den Gemeindevorsteher, den Kreisvorsteher, den Provinzgouverneur und den Ministerpräsidenten.“ Rat." Dieser Witz spiegelt auch das Phänomen der Schichtung in der realen Gesellschaft wider. Die Menschen in der Gesellschaft werden geschichtet, und das gilt auch für die Personalstruktur des Unternehmens. Die Gebäude werden geschichtet, und sogar die Käfige, in denen Dampfbrötchen hergestellt werden, werden geschichtet. Obwohl die Zwecke der Schichtung unterschiedlich sind, dienen sie alle der Lösung eines bestimmten Problems. Daher ist die Schichtarchitektur eigentlich eine Lösung, die zur Lösung eines bestimmten Problems geschaffen wurde.

Häufig verwendetes dreistufiges Architekturdesign

Die am häufigsten verwendeten Softwaresysteme sprechen im Allgemeinen von einer dreistufigen Architektur. Tatsächlich ist die gesamte Geschäftsanwendung in die Präsentationsschicht, die Geschäftslogikschicht, die Datenzugriffsschicht usw. unterteilt Geschäftsdetails, unterschiedliche Funktionscodes Die Dezentralisierung ist förderlicher für das Systemdesign und die Systementwicklung und stellt gleichzeitig kleinere Einheiten für mögliche Änderungen bereit, was der Systemwartung und -erweiterung sehr förderlich ist.

Die gemeinsame dreistufige Architektur umfasst im Wesentlichen die folgenden Teile, wie in Abbildung 1 dargestellt.


Abbildung 1 Gemeinsame dreistufige Architektur

  • Data Access Layer DAL: Wird verwendet, um die Interaktion und den Zugriff auf die Datenbank zu implementieren, Daten aus der Datenbank abzurufen oder Daten in der Datenbank zu speichern.


  • Geschäftslogikschicht BLL: Die Geschäftslogikschicht verbindet die obere und untere Schicht und wird zur logischen Verarbeitung der oberen und unteren interaktiven Daten verwendet, um Geschäftsziele zu erreichen.


  • Präsentationsschicht Web: Implementiert hauptsächlich die Interaktion mit Benutzern, empfängt Benutzeranforderungen oder gibt die Anzeige der von Benutzern angeforderten Datenergebnisse zurück, und die spezifische Datenverarbeitung wird der Geschäftslogikschicht und der Datenzugriffsschicht überlassen.

In vielen Fällen der täglichen Entwicklung werden einige von jeder Ebene verwendete Dinge abstrahiert, um einige gemeinsame Dinge wiederzuverwenden. Beispielsweise trennen wir Datenobjektentitäten und -methoden, um sie durch mehrere Ebenen zu leiten, beispielsweise als sogenanntes Modell. Einige gängige allgemeine Hilfsklassen und Werkzeugmethoden, wie z. B. Datenüberprüfung, Caching-Verarbeitung, Verschlüsselungs- und Entschlüsselungsverarbeitung usw., werden ebenfalls separat getrennt und als unabhängige Module verwendet, um eine Wiederverwendung zwischen verschiedenen Schichten zu ermöglichen, wie z. B. Common genannt.

An diesem Punkt entwickelt sich die dreistufige Architektur zu der in Abbildung 2 dargestellten Situation.


Abbildung 2 Ergebnisse der dreistufigen Architekturentwicklung

  • Geschäftsentitätsmodell: Wird zum Kapseln von Datenstrukturen der Entitätsklasse verwendet und wird im Allgemeinen zum Zuordnen von Datenbanktabellen oder -ansichten verwendet, um objektiv vorhandene Objekte im Unternehmen zu beschreiben. Das Modell ist getrennt, um eine bessere Entkopplung, eine bessere Ausnutzung der Schichtung, eine bessere Wiederverwendung und Erweiterung sowie eine erhöhte Flexibilität zu erreichen.


  • Common-Klassenbibliothek Common: Allgemeine Hilfswerkzeugklasse.

Wir können die allgemeinen Operationen der Datenbank abstrakt in Datenoperationsklassen (z. B. DbHelperSQL) kapseln, um eine bessere Wiederverwendung und einen einfacheren Code zu erreichen. Die unterste Schicht der Datenschicht verwendet allgemeine Datenbankoperationsklassen, um auf die Datenbank zuzugreifen. Die endgültige vollständige dreischichtige Architektur ist in Abbildung 3 dargestellt.


Abbildung 3 Die endgültige vollständige dreischichtige Architektur

Datenbankzugriffsklasse ist eine Kapselung von ADO.NET, die einige häufig verwendete wiederholte Datenbankoperationen kapselt. Beispielsweise stellen die Unternehmensbibliothek SQLHelper.cs von Microsoft, DBUtility/DbHelperSQL von Dongsoft usw. DAL Hilfstoolklassen für den Zugriff auf Datenbanken zur Verfügung.

Durch die obige Analyse wissen wir, wie die heute üblicherweise verwendete Drei-Ebenen-Architektur aussieht. Gleichzeitig kennen wir auch einige der Evolutionsprozesse der Drei-Ebenen-Architektur während ihrer Verwendung. Warum ist es also auf diese Weise geschichtet und welche Rolle spielen die einzelnen Strukturschichten? Schauen wir weiter nach unten.

Interessantes Verständnis: Drei-Ebenen-Architektur und Schweinehaltung

Der Preis für Schweinefleisch ist ständig gestiegen. Es wird gesagt, dass einige Leute durch die Schweinezucht reich und wohlhabend geworden sind. Programmierer sagen, dass es keine Zukunft gibt, Code zu schreiben, und dass sie es genauso gut tun könnten. Ich glaube nicht, dass die Aufzucht von Schweinen keinen technischen Inhalt hat und einfacher ist als das Schreiben von Code. Tatsächlich ist die Aufzucht von Schweinen nicht so technisch wie das Schreiben von Code. Um die dreistufige Architektur besser zu verstehen, nehmen wir als Beispiel die Schweinehaltung. Wie das Sprichwort sagt: „Wer kein Schweinefleisch gegessen hat, hat kein Schwein laufen sehen!“

Abbildung 4 ist ein interessantes Diagramm der dreischichtigen Architektur der Montagelinie der Schweineindustrie.


Abbildung 4 Dreischichtiger Aufbau und Schweinehaltung

Wenn wir Abbildung 3 und Abbildung 4 vergleichen, sehen wir:

  • Die Datenbank ist wie ein Schweinestall Alle Schweine werden geordnet nach Bereich oder Anzahl in verschiedenen Schweineställen untergebracht.


  • DAL ist wie ein Schlachthof Die Schweine werden aus dem Schweinestall geholt und nach Bedarf geschlachtet (Felder), bzw. zu einem Ganzen klassifiziert und geordnet (Statistik). Kiste Schweinefleisch (Datensatz), übermittelt an den Lebensmittelverarbeitungsbetrieb (BLL). Ursprünglich war hier dieselbe Gruppe von Personen für das Fangen und Töten von Schweinen verantwortlich. Später hatte ich das Gefühl, dass die Effizienz zu gering war, also ließ ich einige Leute für das Fangen von Schweinen verantwortlich sein (DBUtility) und bestimmte Schweine entsprechend fangen an die Anforderungen.


  • BLL ist wie eine Lebensmittelverarbeitungsfabrik , die Schweinefleisch tiefgreifend zu verschiedenen essbaren Lebensmitteln verarbeitet (Geschäftsverarbeitung).


  • Das Web ist wie ein Einkaufszentrum , das Lebensmittel in schöne Produkte verpackt, die verkauft werden können, und sie den Kunden präsentiert (UI-Präsentationsebene).


  • Schweinefleisch ist wie ein Modell Egal um welche Fabrik (Stufe) es sich handelt, die Essenz, die in jedem Link geliefert wird, ist Schweinefleisch, und Schweinefleisch durchzieht den gesamten Prozess.


  • Common-Klassenbibliothek Common entspricht verschiedenen Werkzeugen, die von Arbeitern verwendet werden, und stellt für jede Fabrik (Ebene) gemeinsame Werkzeuge (Klassen) wie Metzgermesser, Seile, Scheren, Verpackungsboxen, Werkzeugwagen usw. bereit. Tatsächlich hätte jede Abteilung ihre eigenen Werkzeuge herstellen können, aber das wäre weniger effizient und unprofessionell gewesen, und es hätte sich viel Arbeit wiederholen müssen. Deshalb eröffnete jemand eine Fabrik wie diese, um diese Werkzeuge herzustellen und sie an verschiedene Fabriken zu liefern. Durch eine solche Arbeitsteilung konnten sich die Fabriken auf ihr eigenes Geschäft konzentrieren.

Dies ist natürlich nur eine Metapher. Der Zweck besteht darin, dass die tatsächliche Situation im Detail anders sein wird. Dieses Beispiel veranschaulicht nur den einseitigen Prozess vom Schweinestall zum Einkaufszentrum, aber die tatsächliche Dateninteraktion in der dreischichtigen Entwicklung erfolgt in beide Richtungen und kann abgerufen oder gespeichert werden. Es heißt jedoch, dass es eine Maschine gibt, die die Schweine an einem Ende hineintreibt und am anderen Ende Schinken herausspringt. Wenn die Schinkenwurst nicht verkauft werden kann, stecken Sie sie am anderen Ende wieder hinein, und das Schwein kommt genau so heraus, wie es ist. Ich habe nicht erwartet, dass es an die Dreischicht angeschlossen wird Struktur. Das Obige ist nur ein Scherz, aber es erleichtert auch das Verständnis des Grundkonzepts der dreistufigen Architektur.

Nachdem so viel oben gesagt wurde, fragen sich einige Leute vielleicht: Kann ich den Inhalt nicht direkt aus der Datenbank abrufen und direkt damit arbeiten? Warum sollte man sich die Mühe machen, eine dreistufige Architektur zu verwenden? Welche Vorteile bietet die dreistufige Architektur?

Natürlich gibt es keine Schichtung, genauso wie der gesamte Prozess nicht in Schlachthöfe, Verarbeitungsbetriebe usw. unterteilt ist, alle Arbeiten (Schlachtung, Verarbeitung und Verkauf) werden am selben Ort (Fabrik) erledigt. Aber warum Verarbeitungsbetriebe und Einkaufszentren? Denn wenn der Maßstab relativ groß ist, wird das Management sehr kompliziert und diese Art der Zuchtmethode kann den Anforderungen des Maßstabs nicht mehr gerecht werden. Darüber hinaus ist die gesellschaftliche Arbeitsteilung aus der Perspektive der gesellschaftlichen Entwicklung Ausdruck des menschlichen Fortschritts. Der Vorteil der gesellschaftlichen Arbeitsteilung besteht darin, dass geeignete Menschen das tun können, was sie gut können, wodurch die durchschnittliche gesellschaftliche Arbeitszeit erheblich verkürzt und die Produktionseffizienz deutlich verbessert wird. Nur wer qualitativ hochwertige und effiziente Arbeitsprodukte bereitstellen kann, kann im Marktwettbewerb hohe Gewinne und einen hohen Wert erzielen. Die tiefste Bedeutung, die Talente der Menschen optimal zu nutzen und die Materialien bestmöglich zu nutzen, ergibt sich aus der Arbeitsteilung in der Gesellschaft. Das Gleiche gilt für die Softwareentwicklung. Bei der Arbeit an kleinen Projekten gibt es eigentlich keinen Unterschied zwischen Layering und Nicht-Layering, und es erscheint mühsamer und ausführlicher. Doch wenn Projekte größer und komplexer werden, zeigt die Schichtung ihre Vorteile. Ob eine Aufteilung in Schichten erfolgen soll oder nicht, hängt daher von der tatsächlichen Situation des Projekts ab und kann nicht verallgemeinert werden.

Zugehörige Dokumente: Mehrschichtige Entwicklungsideen und Xiao Long Bao

Das obige ist der detaillierte Inhalt vonDreistufige Architektur und Schweinehaltung. 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