Translate

viernes, 22 de junio de 2012

Es Delphi MVC ? .. Parte II

Mas sobre MVC 


En la primer parte, hemos visto que MVC es un 'patron' de diseño. Realmente es una gran abstracción que de manera muy general enmarca el diseño de cualquier aplicación, sea esta del tipo que sea.


Por lo tanto MVC es una suerte de principio general de diseño. Independientemente de la aplicación es posible verificar que:
  • Siempre existe la 'cosa' sobre la que se construye una o mas aplicaciones .. sea esta una Empresa, Red Social, Persona, Institucion, Objeto ... A la abstracción de esta 'cosa' la llamamos Modelo.
  • Existen infinitas formas de 'ver' el Modelo .. pantallas, reportes, graficos. A estas formas se les da el nombre genérico de Vistas.
Es completamente claro que los cambios en la estructura del Modelo, usualmente impactarán sobre las Vistas.

Por ejemplo si agregamos un nuevo dato al Modelo, algunas Vistas pre-existentes deberán ser modificadas para reflejar este cambio. Lo mismo si son modificados o elminados datos del Modelo.

Notablemente los cambios en la funcionalidad del Modelo .. en principio no afectará a las Vistas. Por ejemplo, es posible cambiar una regla de cálculo sin que haya que tocar una sola Pantalla. Lo mismo ocurre con las validaciones .. lo mismo con procesos internos que  no tienen reflejo alguno en las Vistas.

En cuanto a las Vistas, la situacion es mas simple. Esta claro que en principio ningun cambio en ellas debiera impactar el Modelo en ningun sentido.De hecho .. una Vista puede desaparecer sin que al Modelo le impacte en nada.

Por lo tanto Modelo y Vistas se hallan en una relación estructural del tipo uno a muchos, con un tipo de acople unidireccional y de baja intensidad. 

Sintetizando ..
  • Hay un Modelo y cero, una o mas vistas que dependen de este.
  • Los cambios en la estructura del Modelo, afectan en general a algunas Vistas. 
  • Los cambios funcionales en el Modelo, en general no afectan a ninguna Vistas.
  • Los cambios en las Vistas no afectan al Modelo.
Lo notable es que una aplicación, surge de la unión entre el Modelo y las Vistas a través de los Controladores, permitiendo la interacción del Operador y otros tipos de interacciones mas o menos automáticas.


En ese sentido los controladores serian el codigo 'específico' que no es del Modelo y que hacen funcionar a cada Aplicacion. Y esto tambien es una importante abstracción.


Suficiente de MVC !! .. vamos ahora a ver como Delphi en mi opinión permite programar según este principio general. 


Sigue en la Parte III 





No hay comentarios:

Publicar un comentario