Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/05/2008, 08:08
venkman
Invitado
 
Mensajes: n/a
Puntos:
Re: Patron de diseño MVC

Realmente NO es eso. MVC es un patrón de diseño. NO es una arquitectura. De modo que los actores del patrón (M, V y C) no corresponden con "capas" de la arquitectura. Son dos cosas radicalmente diferentes.


Modelo: Aquí es donde está el modelo de tu aplicación. Aquí HAY lógica de negocio. Son tus clases "producto", "usuario", "pedido", o lo que sea. Y son clases que tienen la lógica de negocio en ellas. Un "pedido" por ejemplo no sólo tiene las propiedades del pedido sino también métodos que modifican o manejan ese pedido, lo validan, lo marcan como pagado, etc.
El modelo, normalmente, está dentro de la capa de negocio.
La capa de datos únicamente debe implicarse en el acceso a datos. No debe ocuparse de saber que para que un pedido sea válido debe tener al menos 1 producto y debe tener una dirección de entrega. Sólo debe saber guardar y recuperar los datos.

La Vista es la representación de un aspecto del modelo. Por ejemplo una Vista puede ser la ficha del producto.
Las Vistas están dentro de la capa de presentación, pero no son la capa.

Los Controladores reciben las acciones del usuario y las transmiten al Modelo. Los Controladores generalmente forman parte de la capa de presentación o están a caballo entre la capa de presentación y la de negocio. Algunos autores dirían que se podría ver ahí una capa de "Lógica de presentación". En realidad lo que ocurre es lo que he dicho antes, que voy a repetir de nuevo:

Una cosa es un patrón de diseño y otra cosa es una arquitectura. Son cosas diferentes.

Por poner un ejemplo militar: La arquitectura equivaldría a la estrategia general que se establece a alto nivel en la guerra. Un patrón de diseño equivaldría a una maniobra táctica que se realiza en una batalla determinada.