Ejemplo de patrón - Problema a resolver

Del proyecto de integración podemos sacar varias conclusiones. La principal es que tenemos varios ficheros que acceden a la base de datos en la que se incluyen, lógica de negocio, acceso y presentación de los datos. Por ejemplo, el fichero "**libros_ficha.php**", del cms (cms/libros_ficha.php) se encarga de comprobar que el identificador del libro es correcto (lógica de negocio), obtener los datos del mismo y posteriormente mostrar esa información al usuario.

Veamoslo mejor con un ejemplo gráfico

Varios ficheros accediendo a la base de datos

Este diseño es poco mantenible y no cumple uno de los principios básicos del desarrollo software, que establece que una misma clase (en nuestro caso fichero PHP) no debe tener más de una responsabilidad.

Sólo fijándonos en el modelo nos encontramos con varios problemas:

  • Si cambiamos de base de datos hay que ir a todos los ficheros donde se accede a la misma y cambiar la todo el código relacionado con la misma (conexión, obtención y muestra de datos, etcétera).

  • ¿Y si actualizamos el modelo? Si actualizamos el modelo tendremos que ir a los ficheros afectados y modificarlos.

Una posible solución sería utilizar una clase/capa que estuviera por encima del acceso al modelo.

results matching ""

    No results matching ""