NHibernate - 建筑

现在,许多系统都采用分层架构设计,NHibernate也拥有它并且与该设计完美配合.

分层架构

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

  • 表示层

  • 业务层

  • 持久层

分层架构

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

分层方法的一个主要好处是,您通常可以对一个层进行更改,而不会对其他层造成任何重大影响,从而使系统较脆弱且易于维护.

表示层

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

业务层

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

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

持久层

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

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

数据库

  • 数据库存在于.NET应用程序之外.

  • 这是系统状态的实际持久表示.

  • 如果是SQL使用数据库,数据库包括关系模式和可能存储的过程.

帮助程序/实用程序类

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

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

NHibernate架构

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

.Net Environment

  • 应用程序代码使用NHibernate ISession IQuery API进行持久性操作,只需管理数据库事务,理想情况下使用NHibernate ITransaction API.