Inicio Atrás Adelante

El paradigma MVC o la separación por intereses

El paradigma M V C (Model-Vista-Controlador) corresponde al patrón Model-View-Controller y ha tenido mucha aceptación como estructura básica del programario, aunque actualmente se considera más adecuada la distinción entre clases de frontera, de control y de entidades. Veremos como puede ser la reusabilidad en términos de este paradigma, y las conclusiones se podrán extender fácilmente a paradigmas parecidos

Un primer aspecto es lo que se conoce con el nombre de separation of concerns o separación por intereses. Lo que significa esta expresión es que para obtener reutilización hay que diseñar las clases por ámbitos de actuación de manera que cada clase se dedique a una actividad y sólo a una. Esta división del trabajo nació con Smalltalk y el paradigma MVC. La idea fundamental es clasificar los objetos o clases en tres tipos:

En primer lugar, los del dominio o modelo. Son los objetos que el usuario puede reconocer: "cliente", "artículo", "vendedor", etc. Estos objetos se definen normalmente en la etapa de análisis y deben diseñarse con total independencia del entorno (y, a ser posible, de la funcionalidad específica de la aplicación).

El segundo tipo de objetos son las vistas. Una vista es un objeto que muestra parte del dominio al usuario y le permite actuar y entrar datos o modificarlos. Las vistas se componen de otras vistas y componentes visuales: botones, barras de desplazamiento, etc. En la versión original del paradigma, un objeto del dominio puede estar representado en más de una vista al mismo tiempo, de manera que si en una vista se modifica algún dato de un objeto del dominio, automáticamente se actualizan todas las otras vistas. Es importante que las vistas sólo implementen la visualización y la introducción de datos sin preocuparse de la validez o no en el dominio; de esta manera, puede reutilizarse un componente visual tanto para un objeto "cliente" como para uno de la clase "artículo".

El tercer tipo de objetos son los de control o controladores, denominados también do-ers (los que hacen el trabajo). Estos objetos son los que implementan la lógica de la aplicación, es decir, la funcionalidad que desea el usuario. Puesto que, normalmente, si se fija el tipo de aplicación (gestión, tiempo real, etc.) se repiten muchas funciones (programas de mantenimiento, listados con totales o sin éstos, etc.), podemos extraer esta funcionalidad y crear unos objetos que la implementan independientemente de los objetos del dominio que se utilizan y de cómo se visualizan o modifican. Diseñados así volvemos a tener objetos altamente reutilizables.


Conclusión

El último tipo de objetos son los gestores de disco, que implementan la persistencia de los objetos que deban tenerla. Las operaciones de los gestores de disco son las típicas de un fichero: leer, grabar, borrar y regrabar. También se definen en la librería como genéricos o abstractos, de manera que con parámetros o herencia podemos adaptarlos al tipo de objeto que queremos hacer persistente.

Inicio Atrás Adelante Arriba