lunes, 6 de febrero de 2012

MVC con Singleton en PHP

Hola estimados aqui dejandoles un nuevo aporte; he implementado un pequeño ejemplo donde funciono el patron de arquitectura de software MVC con el patrón de diseño Singleton.

  • MVC separa los datos de la aplicación, la interfaz de usuario y la lógica de negocio
  • Singleton restringe el crear objetos que pertenecen a una clase con la intención de garantizar que una clase sólo tenga una instancia y proporcionar un acceso global a ella.
MVC de como está montado el ejemplo.


Explicación de la imagen:
  • Objetos del dominio: son las clases entidad que en java se les llama EntityBean, tratan siempre de mostrar casi una replica de la BD pero a nivel de clases, por eso he colocado como si tuvieran relaciones.
  • Modelo: estas clases son las únicas que tienen contacto con la base de datos, pueden estar relacionadas como no, para ser sinceros en muchas de las aplicaciones que he desarrollo las clases del modelo nunca las relaciono entre si.de misma forma la capa de control y la cada de vista.
  • Control: estas clases son las que controlan a la vista y hacen las llamadas al modelo. Las llamadas al modelo son: para solicitar datos o para enviar datos para realizar transacciones.
  • Vista: aquí se encuentran nuestros HTML o cualquier otros archivos que ustedes consideren como plantillas (la extensión es lo de menos)
La capa de control y modelo son las unicas que tienen comunicación con los objetos del dominio, eso quiere decir que pueden crear objetos de ellos.

Sugerencias en MVC:

Para realizar un buen desempeño y respetar completamente la arquitectura MVC se recomienda usar Smarty desde el controlador. Smarty es un buen manejador de plantillas y hace que nuestra aplicación respete MVC al máximo.

Ahora para realizar llamadas a la clase que conecta a la base de datos, pues no nos queda otra opción que usar el patrón de diseño Singleton, el cual nos garantizará un solo acceso global a esa clase así tengamos 1000 usuarios tendremos sola una refrencia de esa clase y no gastamos muchos recursos.

Dejo un ejemplo completo pequeño para que sepan lo que estoy hablando y como pueden hacer para implementar un modelo - vista - controlador con Singleton en PHP.

Descargar aqui

Gracias y hasta la proxima su amigo.

Carlos Zacarías

2 comentarios:

  1. hay que aclarar q es más recomendable usar singleton para instancias cuyos atributos cambiarán poco o nada para cada usuario
    buenas recomendaciones!

    ResponderEliminar
  2. Gracias maestro! me sirvió para un importante trabajo de Investigación

    ResponderEliminar