2010-06-21 13 views
5

Tenga en cuenta que me refiero a 3 capas (capas lógicas) y no a 3 capas (físicas).¿Cuáles son las ventajas de MVC sobre la arquitectura de 3 capas en aplicaciones web?

Además, no se equivoque No estoy obsesionado con los patrones de diseño. Soy estudiante de informática y me han hecho esta pregunta engañosa, así que estoy tratando de encontrar una respuesta inteligente.

Gracias por sus respuestas por adelantado!

+0

¿de qué es esta arquitectura de 3 capas de la que hablas? – Anurag

+0

Donde tiene 3 capas: presentación, lógica comercial y acceso a datos. La presentación se dirige a la capa empresarial y la capa empresarial habla a la base de datos a través de la capa de acceso a datos. Aquí hay un artículo que analiza las diferencias entre ellos http://blogs.msdn.com/b/diegumzone/archive/2006/10/09/3_2d00_tier_2c00_-3_2d00_layer_2c00_-mvc_3a00_-a-trio-of-famous-trios.aspx pero hay son tan sutiles que no puedo ver las ventajas de uno sobre el otro. – Plamena

Respuesta

1

MVC tiene que ver con la separación de inquietudes, pero se trata de detalles en cuanto a que la Vista está vagamente acoplada al modelo y al controlador; con 3 niveles esto no se requiere explícitamente.

Sí, puede (y debe) tener los tres niveles ligeramente acoplados, pero eso no es requerido explícitamente por 3-Tier; con MVC lo es.

Como nota aparte: MVC es un patrón específico que analiza un problema específico, tendría cuidado al referirme a él como una "arquitectura".

Una ventaja de la implementación de Microsofts ASP.NET MVC es que ofrece varios puntos de integración y flexibilidad que no son tan fácilmente accesibles con ASP.NET "estándar", lo que supongo que podría decir que se usa tradicionalmente cuando se compila web-3-trie systesm en el espacio MS.

6

No son idealidades que compiten, MVC tradicionalmente trata con la capa de presentación de una aplicación, es decir, una de las tres capas.

+2

Desafortunadamente, muchas personas ven que MVC no es una de las capas, sino que representa las 3 capas de una arquitectura tradicional de 3 capas. –

0

La razón por la cual la pregunta es un truco es que MVC es un diseño de tres capas.

El modelo es la base de datos, la vista es el UX y el controlador es la capa de aplicación.

Cuestiones relacionadas