几乎每个新的 Java-web-project 都使用现代 MVC 框架,例如用于 Web 层的 Struts 或 Spring MVC,用于“服务”/业务逻辑层的 Spring,以及用于持久性的 ORM 映射器(例如 Hibernate)。.NET 中的等价物是什么?
我猜 ASP.NET 用于 Web 层,ADO.NET 用于持久性,但与 Spring 等价的是什么,即用于连接事务和组件等。
我知道 Spring.NET,但我对在 .NET 中构建应用程序的实际方式更感兴趣。
几乎每个新的 Java-web-project 都使用现代 MVC 框架,例如用于 Web 层的 Struts 或 Spring MVC,用于“服务”/业务逻辑层的 Spring,以及用于持久性的 ORM 映射器(例如 Hibernate)。.NET 中的等价物是什么?
我猜 ASP.NET 用于 Web 层,ADO.NET 用于持久性,但与 Spring 等价的是什么,即用于连接事务和组件等。
我知道 Spring.NET,但我对在 .NET 中构建应用程序的实际方式更感兴趣。
默认方法是重新发明轮子的 ADO.NET/Linq-to-Sql、ASP.NET 和自定义服务层。Microsoft 有用于自动装配的 Unity,但我认为依赖注入在 .NET 世界中还不是主流。
但如果你追求最佳实践,它是用于 UI 的 ASP.NET MVC,用于连接的任何 DI 框架(Castle、Unity、Autofac,...),以及用于持久性的 NHibernate。
像这样的东西?
.NET 中没有事实上的数据访问方式。
选项包括:
请注意带有 * 的那些,这些是 Microsoft 本身提供的当前产品。我跳过了那些我不记得如何拼写的。
ASP.NET MVC + 更适合您工作的数据访问。
还有许多其他框架、工具和库可以提供帮助,例如 Castle、Ninject、Nunit、NLog 等。
但我相信对您的问题的更好回答是“视情况而定”。
实际上,CSLA 不提供任何数据访问。数据访问实现由您决定。
请注意,ASP.NET MVC 还不是 RTM,但我们多年来一直在使用 ASP.NET Web 表单(从 .NET 1.0 开始)。