2008-12-03 10 views
5

Casi todos los nuevos proyectos web Java utilizan un marco moderno MVC como Struts o Spring MVC para el nivel web, Spring para el "Servicio"/business-logic-layer y un mapeador ORM como Hibernate para la persistencia. ¿Cuál es el equivalente en .NET?Equivalente .NET de la arquitectura web Java moderna

Supongo que ASP.NET se utiliza para el nivel web y ADO.NET para persistencia, pero lo que es equivalente a Spring, es decir, lo que se utiliza para conectar transacciones y componentes, etc.

Conozco Spring.NET pero estoy más interesado en la manera de facto de crear aplicaciones en .NET.

Respuesta

4

El enfoque predeterminado es ADO.NET/Linq-to-Sql, ASP.NET y una capa de servicio personalizada que reinventa la rueda. Microsoft tiene Unity para el autoenvío, pero no creo que la inyección de dependencias todavía esté en el mundo de .NET.

Pero si opta por las mejores prácticas, es ASP.NET MVC para UI, cualquier marco DI (Castle, Unity, Autofac, ...) para el cableado, y NHibernate para la persistencia.

1

No hay manera de facto para el acceso a datos en .NET.

Las opciones incluyen:

  • DataReaders ADO.NET *
  • tablas de datos ADO.NET *
  • LINQ a SQL *
  • NHibernate
  • ADO.NET Entity Framework *
  • Typed DataSets *
  • Spring.NET
  • CSLA.Net

Aviso los que tienen *, estos son oferta actual de la propia Microsoft. Y me salté los que no recuerdo cómo deletrear.

0

ASP.NET MVC + El acceso a datos que mejor se adapta a su trabajo.

hay muchos otros marcos de trabajo, herramientas y bibliotecas que pueden ayudar, como los castillos, Ninject, Nunit, etc. Nlog

pero creo que la mejor respuesta a su pregunta es "depende".

0

En realidad, CSLA no proporciona ningún acceso a datos. La implementación del acceso a los datos queda a su decisión.

+0

Los críticos de CSLA tienden a tratar de comparar CSLA con un ORM. ¡CSLA no es un ORM! Un ORM podría complementar CSLA, pero CSLA no realiza las funciones de una capa ORM. –

0

Tenga en cuenta que ASP.NET MVC aún no es RTM, pero hemos estado utilizando formularios web ASP.NET durante años (desde .NET 1.0).

Cuestiones relacionadas