当前位置:  开发笔记 > 后端 > 正文

NHibernate架构?

如何解决《NHibernate架构?》经验,为你挑选了1个好方法。

我打算使用nhibernate作为ORM来实现我的下一个项目(asp.net MVC).由于我没有使用nhibernate的经验,我想知道如何组织不同项目之间的依赖关系.我已经看到这样的东西作为推荐的方法:

UI取决于Model,Repositories和NHibernate

存储库依赖于Model和Nhibernate


    ----- UI-----------------------------
   |                |                    |
   |                |                    |
    Model  NHibernate

问题是我不希望UI代码直接与nhibernate交互,所以我想到这样的事情:

UI取决于Model和Facade

Facade依赖于Model和Nhibernate

----- UI -------- | | | | 模型

Facade,实际上将拥有存储库以及封装nhibernate对象.

这听起来合理吗?首选架构是否有任何指导方针?

感谢名单



1> Ben Scheirma..:

这通常是我在我的应用程序中执行的操作:

Foo.Core

包含域对象,业务逻辑等

不参考任何基础结构相关的程序集,例如Web服务,ESB或数据访问

有些人也把存储库接口放在这里,但这是一个设计选择.它允许您在此处拥有与存储库交互的域服务,仍然与NHibernate脱钩

Foo.Persistence

对NHibernate的引用

存储库实现

工作单元HttpModule for ASP.NET(帮助控制NHibernate在Web应用程序中的会话生命周期)

Foo.Web

引用Foo.Core和Foo.Persistence

HttpModule引用控制NHibernate Session

Foo.Web永远不会直接与NHibernate交互......它始终通过存储库.使用IoC容器,您只需请求IRepository,而不关心实现是什么.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有