NHibernate – 架构
NHibernate – 架构
现在,许多系统都是用分层架构设计的,NHibernate 也有它,并且可以很好地与该设计配合使用。
分层架构
分层架构将系统划分为多个组,其中每个组包含解决特定问题领域的代码,这些组称为层。大多数企业级应用程序使用由三层组成的高级应用程序架构–
- 表示层
- 业务层
- 持久层
例如,用户界面层(也称为表示层)可能包含用于构建网页和处理用户输入的所有应用程序代码。
分层方法的一个主要好处是,您可以经常对一层进行更改,而不会对其他层造成任何显着中断,从而使系统不那么脆弱且更易于维护。
表示层
-
它是最顶层,包含负责绘制用户界面、页面、对话框或屏幕、收集用户输入和控制导航的代码。
业务层
-
业务层负责实现用户将理解为问题域的一部分的任何业务规则或系统要求。
-
它还重用了持久层定义的模型。
持久层
-
持久层由负责保存和检索应用程序数据的类和组件组成。
-
这一层还定义了模型类和数据库之间的映射。NHibernate 主要用于这一层。
数据库
- 数据库存在于 .NET 应用程序之外。
- 它是系统状态的实际持久表示。
- 如果使用 SQL 数据库,则该数据库包括关系模式和可能的存储过程。
助手/实用程序类
-
每个应用程序都有一组支持其他层的帮助程序或实用程序类:例如,UI 小部件、消息传递类、异常类和日志实用程序。
-
这些元素不被视为层,因为它们不遵守分层架构中的层间依赖规则。
NHibernate 架构
-
它是 NHibernate 应用程序的高级视图,您还可以看到简单的 NHibernate 架构。
-
应用程序代码使用 NHibernate ISession和IQuery API 进行持久化操作,并且只需要管理数据库事务,理想情况下使用 NHibernate ITransaction API。