NHibernate - Architektur

Heutzutage sind viele Systeme mit einer mehrschichtigen Architektur entworfen, NHibernate hat sie auch und funktioniert perfekt mit diesem Design.

Schichtarchitektur

Eine geschichtete Architektur unterteilt ein System in mehrere Gruppen, wobei jede Gruppe Code enthält, der einen bestimmten Problembereich adressiert, und diese Gruppen als Schichten bezeichnet werden. Die meisten Anwendungen auf Unternehmensebene verwendenhigh-level application architecture das besteht aus drei Schichten -

  • Die Präsentationsschicht
  • Die Business-Schicht
  • Die Persistenzschicht

Beispielsweise kann eine Benutzeroberflächenschicht, die auch als Präsentationsschicht bezeichnet wird, den gesamten Anwendungscode zum Erstellen von Webseiten und zum Verarbeiten von Benutzereingaben enthalten.

Ein Hauptvorteil des Layering-Ansatzes besteht darin, dass Sie häufig Änderungen an einer Ebene vornehmen können, ohne die anderen Ebenen wesentlich zu stören, wodurch die Systeme erstellt werden lesser fragile and more maintainable.

Präsentationsfolie

  • Es ist die oberste Ebene, die den Code enthält, der für das Zeichnen der Benutzeroberfläche, Seiten, Dialoge oder Bildschirme, das Sammeln von Benutzereingaben und das Steuern der Navigation verantwortlich ist.

Geschäftsschicht

  • Die Geschäftsschicht ist für die Implementierung aller Geschäftsregeln oder Systemanforderungen verantwortlich, die Benutzer als Teil der Problemdomäne verstehen würden.

  • Außerdem wird das durch die Persistenzschicht definierte Modell wiederverwendet.

Persistenzschicht

  • Die Persistenzschicht besteht aus Klassen und Komponenten, die für das Speichern und Abrufen von Anwendungsdaten verantwortlich sind.

  • Diese Ebene definiert auch eine Zuordnung zwischen der Modellklasse und der Datenbank. NHibernate wird hauptsächlich in dieser Schicht verwendet.

Datenbank

  • Die Datenbank existiert außerhalb der .NET-Anwendung.
  • Es ist die tatsächliche, dauerhafte Darstellung des Systemstatus.
  • Wenn eine SQL-Datenbank verwendet wird, enthält die Datenbank das relationale Schema und möglicherweise gespeicherte Prozeduren.

Hilfs- / Dienstprogrammklassen

  • Jede Anwendung verfügt über eine Reihe von Hilfs- oder Dienstprogrammklassen, die die anderen Ebenen unterstützen: z. B. UI-Widgets, Messaging-Klassen, Ausnahmeklassen und Protokollierungsdienstprogramme.

  • Diese Elemente werden nicht als Ebenen betrachtet, da sie den Regeln für die Abhängigkeit zwischen Schichten in einer Ebenenarchitektur nicht entsprechen.

NHibernate Architektur

  • Es ist eine allgemeine Ansicht der NHibernate-Anwendung, und Sie können auch die einfache NHibernate-Architektur sehen.

  • Der Anwendungscode verwendet das NHibernate ISession und IQuery APIs für Persistenzoperationen und müssen nur Datenbanktransaktionen verwalten, idealerweise mithilfe von NHibernate ITransaction API.