Hola :
Bueno, el patron se llama Singleton y es para tener una sola instancia de una clase determinada;
yo utilizo esto en la capa de datos de cada aplicacion que hago:
1. La clase DAC me permite encapsular la fuente de datos y el gestor de DB:
. Puedo usar mysql o postgre o oracle, la que desee
. Puedo obtener los datos de un gestor o propianmente de un webservice o de cualquier fuente
2. Defino un tipo por cada entidad de la capa de datos:
. IDACUsers
. IDACNews
-> create
-> delete
-> get_all_news
. IDACAdmin
. xxxxx
3. Creo una clase que especifica un gestor determinado e implementa el tipo que deseo:
. MySqlNews hereda de MySQLDAC e implementa IDACNews
. PgSqlNews hereda de PgSQLDAC e implementa igualmente IDACNews
eso me permite que yo reciba una instancia que tenga los metodos create, delete, get_all_news
sin interesarme el gestor en que esta soportada.
4. Para tomar una instancia de ese tipo solo llamo al singleton:
Código PHP:
$dac_news = DAC::create( "news" );
$lista_de_news = $dac_news->get_all_news();
Ya con eso tengo todas las noticias, y hago analogamente con cada entidad del modelo de la capa de datos.
Saludos