Ver Mensaje Individual
  #16 (permalink)  
Antiguo 21/09/2006, 15:27
Casuis
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 7 meses
Puntos: 3
Bueno primero saludos a todos ya hacía tiempo que no me pasaba por aqui, al menos veo que enrique sigue defendiendo la plaza, bueno sobre la polemica .net vs php no me voy a meter yo actualmente trabajo como analista en arquitectura .net aunque para mis negocios personales utilizo php5 en concreto Zend Framework o Ruby en su aplicación Rails. Por cierto estan estudiando la implantación de Ruby en la arquitectura .Net ^^

Pero bueno vamos a lo del Singleton estoy leyendo muchas locuras. Vamos por pasos nunca y repito nunca metais la conexión de base de datos en sesiones creo que es obvio no?. Bien vamos a poner un ejemplo de singleton a grandes trazos. Si tenemos el siguiente modelo típico de un videoclub:



y aunque fuese extraño e incoherente queremos mostrar todos los clientes y todas las peliculas que tenemos que cada clase de la capa de negocio : clientes, alquiler, películas tiene un singleton que obtiene la conexion a base d e datos así siguiendo el ejemplo tendríamos:
Código PHP:

public function ListarSociosPelicuasAction(){
   
   
$this->view->assign("titulo","Listado de socios y peliculas");   

   
$sociosObj = new Socios();
   
$peliculasObj = new Peliculas();

   
$socios$clientesObj->fetchAll();
   
$peliculas $peliculasObj->fetchAll();

   
$this->view->assign("socios",$clientes);
   
$this->view->assign("peliculas",$peliculas );

   echo 
$this->view->render('ListarSociosPelicuas.tpl.php');

}
.... 
Tendríamos que cada modelo tiene por herencia un objeto ADODB pero que esta dominado por DatabaseManager que es un Singleton. Esto quiere decir que aunque tengamos muchos objetos de la capa de negocio que tengas por herencía un objeto conexión ADODB gracias a singleton solo tendremos una instancia todas las demás serán referencias a esa instancia.

Espero que os sea de ayuda, el ejemplo lo he basado en Zend Framework como no jejeje parece que me paguen o algo o debe ser eso ... jajaja

P.D
el uml lo he hecho con ArgoUML
He utilizado como IDE he utilizado Eclipse
Y como modelo de framework el de Zend
Todo el software utilizado es Open Source
Tanto Cake como Symfony utilizan el mismo sistema MVC (a grandes trazos) así que espero que no tengais ningun problema.

Última edición por Casuis; 21/09/2006 a las 15:41