NHibernate - 架構



如今,許多系統都是使用分層架構設計的,NHibernate 也有自己的分層架構,並且可以與這種設計完美配合。

分層架構

分層架構將系統劃分為多個組,每個組包含用於解決特定問題領域的程式碼,這些組稱為層。大多數企業級應用程式都使用高階應用程式架構,該架構包含三層:

  • 表示層
  • 業務層
  • 持久化層
Layered Architecture

例如,使用者介面層(也稱為表示層)可能包含所有用於構建網頁和處理使用者輸入的應用程式程式碼。

分層方法的一個主要優點是,您通常可以在不顯著影響其他層的情況下更改一層,從而使系統更不容易出現故障且更易於維護

表示層

  • 它是最高層,包含負責繪製使用者介面、頁面、對話方塊或螢幕、收集使用者輸入以及控制導航的程式碼。

業務層

  • 業務層負責實現使用者在問題域中理解的任何業務規則或系統需求。

  • 它還重用持久化層定義的模型。

持久化層

  • 持久化層由負責儲存和檢索應用程式資料的類和元件組成。

  • 此層還定義了模型類和資料庫之間的對映。NHibernate 主要用於此層。

資料庫

  • 資料庫存在於 .NET 應用程式之外。
  • 它是系統狀態的實際持久表示。
  • 如果使用 SQL 資料庫,則資料庫包含關係模式,並且可能包含儲存過程。

輔助/實用程式類

  • 每個應用程式都有一組輔助或實用程式類來支援其他層:例如,UI 小部件、訊息傳遞類、異常類和日誌記錄實用程式。

  • 這些元素不被視為層,因為它們不遵循分層架構中層間依賴關係的規則。

NHibernate 架構

  • 這是 NHibernate 應用程式的高階檢視,您還可以看到簡單的 NHibernate 架構。

.Net Environment
  • 應用程式程式碼使用 NHibernate 的ISessionIQuery API 進行持久化操作,並且只需要管理資料庫事務,理想情況下使用 NHibernate 的ITransaction API。

廣告