NHibernate - 架构



如今,许多系统都是使用分层架构设计的,NHibernate 也有自己的分层架构,并且可以与这种设计完美配合。

分层架构

分层架构将系统划分为多个组,每个组包含用于解决特定问题领域的代码,这些组称为层。大多数企业级应用程序都使用高级应用程序架构,该架构包含三层:

  • 表示层
  • 业务层
  • 持久化层
Layered Architecture

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

分层方法的一个主要优点是,您通常可以在不显著影响其他层的情况下更改一层,从而使系统更不容易出现故障且更易于维护

表示层

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

业务层

  • 业务层负责实现用户在问题域中理解的任何业务规则或系统需求。

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

持久化层

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

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

数据库

  • 数据库存在于 .NET 应用程序之外。
  • 它是系统状态的实际持久表示。
  • 如果使用 SQL 数据库,则数据库包含关系模式,并且可能包含存储过程。

辅助/实用程序类

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

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

NHibernate 架构

  • 这是 NHibernate 应用程序的高级视图,您还可以看到简单的 NHibernate 架构。

.Net Environment
  • 应用程序代码使用 NHibernate 的ISessionIQuery API 进行持久化操作,并且只需要管理数据库事务,理想情况下使用 NHibernate 的ITransaction API。

广告