Italia

Páginas: 3 (690 palabras) Publicado: 7 de agosto de 2011
Php Patron singleton y la clase para conectar con base de datos CBaseDatos
Se habla mucho sobre el patron de diseño singleton pero se ve pocos ejemplos orientativos sobre su utilización en unproyecto real.
Voy a poner un ejemplo real.
En el proceso de creación de “The framework”, haciendo una depuracion del codigo vi que se creaba una instancia de la clase de conexion (CBaseDatos) por cadaobjeto de cualquier modelo que construia. En muchos casos hasta 16 instancias de conexiones, para una funcion que utilizaba 3 Modelos.
//MPais, MProvincia y MCiudad son clases queextienden de MainModel
function lista_detallada_paises()
{
$oPais = new MPais();
$oProvincia = new MProvincia();$oCiudad = new MCiudad();
.....
}
Parte del código del modelo padre MainModel
class MainModel
{
...protected $_oBD;
protected $_sTabla;
protected $_id;

public function __construct($sNombreTabla, $id)
{//Esta es la linea que creaba una instancia por cada objeto
//construido ejemplo: MPais(), MProvincia()...
$this->_oBD = newCBaseDatos();
$this->_oBD->conectar();
$this->_sTabla = $sNombreTabla;
$this->_id = $id;

//Funcion equivalentea var_dump
bug($this->_oBD);
}
...
Al ejecutar la funcion lista_detallada_paises() esta mostraba el numero de recursos oBD creados.
Como sehan dado cuenta esto es ineficiente porque con una instancia de conexion (un objeto CBaseDatos) compartida por el resto era suficiente.
Es aqui cuando decido pasar la clase CBaseDatos al patrón...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • ITALIA
  • Italia
  • Italia
  • Italia
  • italia
  • Italia
  • Italia
  • Italia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS