Patrón de diseño de modelo-vista-controlador

El patrón de diseño de modelo-vista-controlador (MVC) especifica que una aplicación consta de un modelo de datos, de información de presentación y de información de control. El patrón requiere que cada uno de estos elementos esté separado en distintos objetos.

El model (por ejemplo, la información de datos) contiene únicamente los datos puros de aplicación; no contiene lógica que describe cómo pueden presentarse los datos a un usuario.

La view (por ejemplo, la información de presentación) presenta al usuario los datos del modelo. La vista sabe cómo acceder a los datos del modelo, pero no sabe el significado de estos datos ni lo que el usuario puede hacer para manipularlos.

Por último, el controller (por ejemplo, la información de control) está entre la vista y el modelo. Escucha los sucesos desencadenados por la vista (u otro origen externo) y ejecuta la reacción apropiada a estos sucesos. En la mayoría de los casos, la reacción es llamar a un método del modelo. Puesto que la vista y el modelo están conectados a través de un mecanismo de notificación, el resultado de esta acción se reflejará automáticamente en la vista.

La mayoría de las aplicaciones hoy en día siguen este patrón, muchas con ligeras variaciones. Por ejemplo, algunas aplicaciones combinan la vista y el controlador en una clase porque ya están estrechamente unidos. Todas las variaciones recomiendan enérgicamente la separación de los datos de su presentación. Esto no solo simplifica la estructura de una aplicación sino que también permite reutilizar el código.

Puesto que hay muchas publicaciones que describen el patrón, así como numerosos ejemplos, este documento no describe el patrón con mucho detalle.

El diagrama siguiente muestra cómo se aplica el patrón de diseño MVC a HCL Commerce. Este patrón se utiliza para las aplicaciones web y para los Rich Client y se puede utilizar la infraestructura de servicios web o Struts.

Diagrama que ilustra cómo se aplica el patrón de diseño MVC a HCL Commerce.