📜  NHibernate-建筑

📅  最后修改于: 2020-11-19 05:29:58             🧑  作者: Mango


如今,许多系统都采用分层体系结构进行设计,NHibernate也拥有这种体系结构,并且可以与该设计完美地结合使用。

分层架构

分层体系结构将系统分为多个组,其中每个组包含用于解决特定问题区域的代码,这些组称为层。大多数企业级应用程序使用由三层组成的高级应用程序架构

  • 表示层
  • 业务层
  • 持久层

分层架构

例如,用户界面层(也称为表示层)可能包含用于构建网页和处理用户输入的所有应用程序代码。

分层方法的一个主要好处是,您可以经常对一个层进行更改,而不会对其他层造成任何重大破坏,从而使系统更不易碎且更易于维护

表示层

  • 它是最顶层,其中包含负责绘制用户界面,页面,对话框或屏幕,收集用户输入以及控制导航的代码。

业务层

  • 业务层负责实施用户将理解为问题域一部分的任何业务规则或系统要求。

  • 它还重用了持久层定义的模型。

持久层

  • 持久层由负责保存和检索应用程序数据的类和组件组成。

  • 该层还定义了模型类和数据库之间的映射。 NHibernate主要用于此层。

数据库

  • 该数据库位于.NET应用程序外部。
  • 它是系统状态的实际,持久性表示形式。
  • 如果使用SQL数据库,则该数据库包括关系架构和可能的存储过程。

助手/实用程序类

  • 每个应用程序都有一组支持其他层的帮助程序或实用程序类:例如,UI小部件,消息传递类,Exception类和日志记录实用程序。

  • 这些元素不被视为层,因为它们不遵守分层体系结构中层间依赖的规则。

NHibernate架构

  • 它是NHibernate应用程序的高级视图,您还可以看到简单的NHibernate体系结构。

.Net环境

  • 该应用程序代码使用NHibernate ISessionIQuery API进行持久性操作,并且仅需管理数据库事务,理想情况下使用NHibernate ITransaction API。