Nhibernate-architecture

提供:Dev Guides
移動先:案内検索

NHibernate-アーキテクチャ

現在、多くのシステムはレイヤードアーキテクチャで設計されていますが、NHibernateにもそれがあり、その設計で完全に機能します。

階層化アーキテクチャ

階層化アーキテクチャは、システムをいくつかのグループに分割します。各グループには特定の問題領域に対応するコードが含まれ、これらのグループはレイヤーと呼ばれます。 エンタープライズレベルのアプリケーションのほとんどは、3つの層で構成される*高レベルアプリケーションアーキテクチャ*を使用します-

  • プレゼンテーション層
  • ビジネス層
  • 永続化レイヤー

レイヤードアーキテクチャ

たとえば、プレゼンテーションレイヤーとも呼ばれるユーザーインターフェイスレイヤーには、Webページを構築し、ユーザー入力を処理するためのすべてのアプリケーションコードが含まれる場合があります。

階層化アプローチの主な利点の1つは、多くの場合、他のレイヤーを大幅に中断することなく1つのレイヤーに変更を加えることができることです。

プレゼンテーション層

  • これは最上位のレイヤーであり、ユーザーインターフェイス、ページ、ダイアログ、または画面の描画、ユーザー入力の収集、およびナビゲーションの制御を担当するコードが含まれています。

ビジネス層

  • ビジネス層は、ユーザーが問題ドメインの一部として理解するビジネスルールまたはシステム要件を実装する責任があります。
  • また、永続層で定義されたモデルを再利用します。

永続層

  • 永続層は、アプリケーションデータの保存と取得を担当するクラスとコンポーネントで構成されます。
  • この層は、モデルクラスとデータベース間のマッピングも定義します。 NHibernateは主にこの層で使用されます。

データベース

  • データベースは.NETアプリケーションの外部に存在します。
  • これは、システム状態の実際の永続的な表現です。
  • SQLデータベースを使用する場合、データベースにはリレーショナルスキーマとストアドプロシージャが含まれます。

ヘルパー/ユーティリティクラス

  • すべてのアプリケーションには、UIウィジェット、メッセージングクラス、例外クラス、ロギングユーティリティなど、他のレイヤーをサポートするヘルパークラスまたはユーティリティクラスのセットがあります。
  • これらの要素は、レイヤードアーキテクチャの層間依存性の規則に従っていないため、レイヤーとは見なされません。

NHibernateアーキテクチャ

  • NHibernateアプリケーションの高レベルのビューであり、単純なNHibernateアーキテクチャも確認できます。

.Net Environment

*アプリケーションコードは、永続化操作にNHibernate* ISession *および *IQuery* APIを使用し、理想的にはNHibernate *ITransaction* APIを使用して、データベーストランザクションのみを管理する必要があります。