[Php-avanzado] Propuesta para tesina
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Dom Mayo 31 00:47:50 ART 2009
Hola Gustavo,
cada vez que un programador usa el Paamayim Nekudotayim, muere un
gatito ;-)
Usar :: excepto para invocar a un constructor heredado, es saltarse el
paradigma de OO a lo torero.
El punto es que no hay ninguna justificación de diseño que obligue a
usar "métodos de clase", salvo como dije en un constructor.
Seguro que anda! No estamos discutiendo eso.
Coincido con que se ve más elegante, también en que puede ser el menor
de los males... pero eso no son Objetos.
Seguimos!
El vie, 29-05-2009 a las 21:37 +0200, LarvaXP escribió:
> Ahora me doy cuenta que me colgue con la respuesta del email de jorge,
> mis disculpas.
>
> $outlet = Outlet::getInstance();
>
> $client = new Client;
> $client->Name = 'Test Client';
>
> $project = new Project;
> $project->Name = 'Cool Project';
> $project->setClient( $client );
> $project->addBug( $bug );
>
> // inserts the project and all of the related entities in one
> transaction
> $outlet->save( $project );
>
> Viendo este código, a simple vista parecería que es no invasivo, dado
> que el objecto Outlet es el contiene la responsabilidad de persistir
> nuestros objetos de negocio. Esto es bueno. Tampoco soy un gran
> conocedor de ORM´s como para hacer una comparación, en todo caso,
> esperemos el comentario de Leo, que seguramente tendrá más experiencia
> en tratar con este tipo de herramientas.
>
> Con respecto al operador ::, siempre que el método al que estas
> invocando sea un método de clase, y no un objeto, si es correcto. Es
> la convención adoptada en el modelo de objetos, que cuando se llama a
> un método estático, se debe referenciar desde la clase.
> Traducido a código:
>
> $outlet = Outlet::getInstance();
>
> //Supongamos que necesitamos otra instancia de Outlet, podríamos hacer
> $outlet2 = $outlet.getInstance();
>
> //O también
> $outlet2 = Outlet::getInstance();
>
> Desde el punto de vista de sintaxis, ninguno de los dos arrojará un
> error. pero con el segundo, viendo el código, ya sabemos que es un
> método perteneciete a la clase (método estático), y no del objeto. El
> primer caso, aparenta lo contrario.
>
>
> Y que lluevan las piedras...
> -------------------------------------------------------------------------------------------------------------------
> Saludos
> -------------------------------------------------------------------------------------------------------------------
> Gustavo A. Alberola
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado