domingo, 3 de abril de 2016

Introducción al patrón Arquitectónico MVC - Parte IV

¿Cómo funciona el patrón MVC?
El funcionamiento básico del patrón MVC, puede resumirse en:
• El usuario realiza una petición
• El controlador captura el evento (puede hacerlo mediante un manejador de eventos – handler -, por ejemplo)
• Hace la llamada al modelo/modelos correspondientes (por ejemplo, mediante una llamada de retorno – callback -) efectuando las modificaciones pertinentes sobre el modelo
• El modelo será el encargado de interactuar con la base de datos, ya sea en forma directa, con una capa de abstracción para ello, un Web Service, etc. y retornará esta información al controlador
• El controlador recibe la información y la envía a la vista
• La vista, procesa esta información pudiendo hacerlo desde el enfoque que veremos en este libro, creando una capa de abstracción para la lógica (quien se encargará de procesar los datos) y otra para el diseño de la interfaz gráfica o GUI. La lógica de la vista, una vez procesados los datos, los “acomodará” en base al diseño de la GUI - layout – y los entregará al usuario de forma “humanamente legible”.

 

Hasta quí, hemos hablado de estilos arquitectónicos, nos hemos introducido en uno de los patrones arquitectónicos (MVC) pero, en todo esto ¿en qué momento intervienen los patrones de diseño?
Es aquí donde debemos notar que éstos, intervienen en la forma en la que cada capa (modelo, vista y controlador), “diseña” su estructura. El controlador decidirá (aunque en realidad, nosotros lo haremos) si utilizará un handler para manejar los eventos del usuario. En ese caso, estaría optando por un patrón de diseño. Si para llamar al modelo, utiliza un callback, estaría utilizando otro, y así en lo sucesivo.
Personalmente, sugiero que, a no ser que se trate de sistemas realmente robustos y complejos, no se compliquen demasiado – por ahora - en “aplicar” todos y cada uno de los patrones de diseño que encuentren en el camino. La forma de hacerlo bien, es: 

• Sencillez y simplicidad
• Fácil mantenibilidad
• Practicidad para evolucionar

Si se tienen en cuenta estas tres premisas, el resultado de un código limpio, legible y fácil
de interpretar para cualquier programador, estará 90% asegurado.