Pregunta

Soy un programador Winforms antes; Siempre programas de partición que escribo en dos partes, el front-end (Windows Forms) y de nivel medio (facilitado por Remoting / WCF)

En este enfoque, el código de front-end no puede acceder al LINQ o System.Data.SqlClient. Pero que tiene la ventaja añadida de que el nivel medio es un instante SOA-ciudadano (arquitectura orientada a servicios), se puede utilizar en escenarios B2B, la base de datos agnóstica, y con capacidad de Internet aún es sólo una aplicación de Windows Forms.

Ahora estoy aprendiendo habilidades web. Con ayuda del proyecto SportsStore del libro Pro ASP.NET MVC, es inevitable que me gustaría comparar mi viejo (?) Enfoque (la clase media) y el enfoque repositorio en ese libro. El enfoque repositorio expone el mecanismo de acceso de datos (Linq to SQL) directamente en front-end (SportsStore.WubUI). Utilizando el enfoque de repositorio, el SportsStore.WebUI todavía tiene una conexión directa con la base de datos.

La pregunta es, en programas web, en caso de que aspiro hacer el front-end de interfaz sólo a una de nivel medio (por lo que el front-end puede ser la base de datos agnóstica y el nivel medio es un instante SOA-ciudadano), o debería utilizar la base de datos directamente (por medio de enfoque repositorio, ORM, o similar) en la parte delantera de extremo?

¿Fue útil?

Solución

Estoy seguro de que el libro ha violado algunas de las mejores prácticas en aras de la brevedad. Los autores tienen que equilibrar "cómo consigo mi punto de vista" frente a "¿cuál es la forma correcta de hacerlo"; por lo general optan por la primera. (como debe ser - este es un libro sobre el desarrollo web, no se trata de la arquitectura, a la derecha)

Debe seguir absolutamente a utilizar arquitecturas de n-capas. El punto de la arquitectura de n niveles es para permitir a (más) fácilmente intercambiar el capas -. bases de datos de conmutación, las interfaces de usuario del conmutador (sustituir Winforms con ASP.NET, por ejemplo)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top