Ver Mensaje Individual
  #9 (permalink)  
Antiguo 21/05/2008, 17:15
Millertaker
 
Fecha de Ingreso: diciembre-2007
Mensajes: 97
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Respuesta: Re: Patron de diseño MVC

Cita:
Iniciado por venkman Ver Mensaje
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.

Hola pues la verdad entonces me pregunto existen "patrones" para una arquitectura o algo en que fundamentarse para arrancar a establecer una arquitectura para una aplicacion?

Y otra pregunta, Estos Frameworks implementan arquitecturas o patrones dentro de su estructura, eso hablando de Symfony, .NET Framework, Spring para java, etc.