MODELO – VISTA – CONTROLADOR (MVC)

Es una propuesta de diseño de software utilizada para implementar sistemas donde se requiere el uso de interfaces de usuario. Surge de la necesidad de crear software más robusto con un ciclo de vida más adecuado, donde se potencie la facilidad de mantenimiento, reutilización del código y la separación de conceptos. Su fundamento es la separación del código en tres capas diferentes, acotadas por su responsabilidad, en lo que se llaman Modelos, Vistas y Controladores.

El Modelo representa la parte de la aplicación que implementa la lógica de negocio. Esto significa que es responsable de la recuperación de datos convirtiéndolos en conceptos significativos para la aplicación, así como su procesamiento, validación, asociación y cualquier otra tarea relativa a la manipulación de dichos datos.

La Vista hace una presentación de los datos del modelo estando separada de los objetos del modelo. Es responsable del uso de la información de la cual dispone para producir cualquier interfaz de presentación de cualquier petición que se presente.

El controlador gestiona las peticiones de los usuarios. Es responsable de responder la información solicitada con la ayuda tanto del modelo como de la vista. Los controladores pueden ser vistos como administradores cuidando de que todos los recursos necesarios para completar una tarea se deleguen a los trabajadores más adecuados.

mvc_role_diagram

LIBRO RECOMENDADO: PATRONES DE DISEÑO EN JAVA (LAURENT DEBRAUWER)

Este libro presenta de forma concisa y práctica los 23 modelos de diseño (Design Patterns) fundamentales ilustrándolos mediante ejemplos adaptados y fáciles de comprender. Cada ejemplo se describe en UML y en Java bajo la forma de un pequeño programa completo y ejecutable. Para cada patrón el autor detalla su nombre, el problema correspondiente, la solución propuesta, sus dominios de aplicación y su estructura genérica.

El libro está dirigido a aquellos diseñadores y desarrolladores que trabajen con Programación Orientada a Objetos. Para comprenderlo bien, es preferible tener conocimientos previos acerca de los principales elementos de los diagramas de clases UML y la última versión del lenguaje Java.

El libro está organizado en tres partes que se corresponden con las tres familias de patrones de diseño: los patrones de construcción, los patrones de estructuración y los patrones de comportamiento.

A continuación, se incluye un capítulo que presenta tres variantes de patrones existentes, mostrando la gran flexibilidad existente a la hora de implementar estos modelos. También se aborda el patrón compuesto MVC (Model-View-Controller).

https://drive.google.com/open?id=0B4AoAxhlob6VNUdWTGV2MkFTMG8

patrones-de-diseno-en-java-los-23-modelos-de-diseno-descripcion-y-soluciones-ilustradas-en-uml-2-y-java-9782746086456_L.jpg