5

几乎每个新的 Java-web-project 都使用现代 MVC 框架,例如用于 Web 层的 Struts 或 Spring MVC,用于“服务”/业务逻辑层的 Spring,以及用于持久性的 ORM 映射器(例如 Hibernate)。.NET 中的等价物是什么?

我猜 ASP.NET 用于 Web 层,ADO.NET 用于持久性,但与 Spring 等价的是什么,即用于连接事务和组件等。

我知道 Spring.NET,但我对在 .NET 中构建应用程序的实际方式更感兴趣。

4

6 回答 6

4

默认方法是重新发明轮子的 ADO.NET/Linq-to-Sql、ASP.NET 和自定义服务层。Microsoft 有用于自动装配的 Unity,但我认为依赖注入在 .NET 世界中还不是主流。

但如果你追求最佳实践,它是用于 UI 的 ASP.NET MVC,用于连接的任何 DI 框架(Castle、Unity、Autofac,...),以及用于持久性的 NHibernate。

于 2008-12-03T08:20:21.290 回答
1

像这样的东西?

http://www.asp.net/mvc/

于 2008-12-03T08:12:19.403 回答
1

.NET 中没有事实上的数据访问方式。

选项包括:

  • ADO.NET 数据读取器*
  • ADO.NET 数据表*
  • LINQ 到 SQL*
  • 休眠
  • ADO.NET 实体框架*
  • 类型化数据集*
  • 春天.NET
  • CSLA.Net

请注意带有 * 的那些,这些是 Microsoft 本身提供的当前产品。我跳过了那些我不记得如何拼写的。

于 2008-12-03T08:14:06.840 回答
0

ASP.NET MVC + 更适合您工作的数据访问。

还有许多其他框架、工具和库可以提供帮助,例如 Castle、Ninject、Nunit、NLog 等。

但我相信对您的问题的更好回答是“视情况而定”。

于 2008-12-03T10:02:54.873 回答
0

实际上,CSLA 不提供任何数据访问。数据访问实现由您决定。

于 2009-03-17T19:45:02.127 回答
0

请注意,ASP.NET MVC 还不是 RTM,但我们多年来一直在使用 ASP.NET Web 表单(从 .NET 1.0 开始)。

于 2009-03-17T19:55:13.477 回答