Asp.net mvc 哪一个是使用流畅的NHibernate的优秀架构?

Asp.net mvc 哪一个是使用流畅的NHibernate的优秀架构?,asp.net-mvc,design-patterns,architecture,fluent-nhibernate,Asp.net Mvc,Design Patterns,Architecture,Fluent Nhibernate,我正在用MVC 3和Fluent NHibernate开发一个应用程序。我想知道应用程序的最佳架构是什么,比如我们是否应该分离业务层、DAL和响应层,稍后在业务中定义实体类和映射类,所有接口都在存储库中,所有数据逻辑都在DAL中。 你知道处理应用程序的最佳方式是什么吗 谢谢您可以将业务实体定义到一个单独的层中。然后,您可以使用这些业务实体存储库定义CRUD操作的接口。然后,您将拥有这些存储库的特定实现:在您的案例中,使用NHibernate。在这里,您可以使用数据访问逻辑和FluentNHibe

我正在用MVC 3和Fluent NHibernate开发一个应用程序。我想知道应用程序的最佳架构是什么,比如我们是否应该分离业务层、DAL和响应层,稍后在业务中定义实体类和映射类,所有接口都在存储库中,所有数据逻辑都在DAL中。 你知道处理应用程序的最佳方式是什么吗


谢谢

您可以将业务实体定义到一个单独的层中。然后,您可以使用这些业务实体存储库定义CRUD操作的接口。然后,您将拥有这些存储库的特定实现:在您的案例中,使用NHibernate。在这里,您可以使用数据访问逻辑和FluentNHibernate映射。最后,您将拥有一个服务层,它将定义复杂的业务操作,包括业务实体上的多个简单CRUD操作。业务层还可以包含业务验证逻辑

由于存储库实现的接口,服务层和数据访问层将弱耦合,业务层不应该知道这些存储库的具体实现


最后,MVC控制器将和服务方法和业务实体一起工作。在UI层MVC应用程序中,您还可以定义视图模型,以便控制器操作可以在业务实体和视图模型之间映射,并将这些视图模型传递给视图。

您可以将业务实体定义到单独的层中。然后,您可以使用这些业务实体存储库定义CRUD操作的接口。然后,您将拥有这些存储库的特定实现:在您的案例中,使用NHibernate。在这里,您可以使用数据访问逻辑和FluentNHibernate映射。最后,您将拥有一个服务层,它将定义复杂的业务操作,包括业务实体上的多个简单CRUD操作。业务层还可以包含业务验证逻辑

由于存储库实现的接口,服务层和数据访问层将弱耦合,业务层不应该知道这些存储库的具体实现

最后,MVC控制器将和服务方法和业务实体一起工作。在UI层MVC应用程序中,您还可以定义视图模型,以便控制器操作可以在业务实体和视图模型之间映射,并将这些视图模型传递给视图。

一个非常好的开源项目是

我就是从这里开始的,它使用的是你对MVC感兴趣的堆栈,Fluent NHib


这就是我开始学习的地方,你对MVC感兴趣的是使用堆栈,在我看来,Fluent NHib是学习精心设计的,使用NHibernate和Fluent NHibernate作为ORM的ASP.NET MVC项目的松散耦合和域驱动的设计体系结构。

在我看来,这是了解精心设计的,使用NHibernate和Fluent NHibernate作为ORM的ASP.NET MVC项目的松耦合和域驱动设计体系结构。

FluentNhibernate在存储库中的映射?@alexn,在包含存储库的特定NHibernate实现的层中。当您谈论层时,你不是真的在谈论物理分离,比如项目吗?@alexn,不,不是必要的物理分离。可以,但不是必需的。@Darin,谢谢你的回复,服务层我不清楚?你能定义更多吗?存储库中的FluentNhibernate映射?@alexn,在包含存储库的特定NHibernate实现的层中。当你谈论层时,你不是真的在谈论物理分离,即项目吗?@alexn,不,不是必要的物理分离。可以,但不是必需的。@Darin,谢谢你的回复,服务层我不清楚?你能给它下更多的定义吗?