[Php-avanzado] Tesis Redes Sociales
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Vie Dic 12 14:15:58 ART 2008
Hola Matías,
El vie, 12-12-2008 a las 12:57 -0300, Matías Alvarez escribió:
> Leo:
> Justo que estuvimos hablando de esto el sabado pasado, en una aplicación
> pequeña/mediana que se va a hacer con un diseño de objetos con una
> arquitectura MVC que otra forma de hacer la persistencia sugerís que no sea
> un ORM? ActiveRecord en vez de DAO?
Pero si yo enfatizo el uso de los ORM!!!
Pero un ORM en serio.
Si te colgás de un DAO, el modelo termina siendo igual al
almacenamiento, lo que significa un modelo con una clasificación
horrible.
Se deben armar las clases según el comportamiento, no según los
atributos. DAO te lleva siempre a pensar en que el Objeto es una serie
de atributos que persisten, y eso nunca es bueno para el modelo.
Si pensamos en un ORM, creo que hay que apuntar a la arquitectura de
Hibernate.
> El tema es que la utilización de los
> ORM's también consumen un tiempo de aprendizaje, y yo actualmente estaba por
> comenzar a hacer un desarrollo en el cuál no tengo este tiempo para
> investigar.
Si no tenés ese tiempo, ensuciá el modelo haciendo que cada Objeto sepa
guardarse. Luego, el día que puedas invertir tiempo en ver ORM y
usarlos, tenés un buen modelo que fácilmente persistirá.
De esta manera tendrás un modelo basado en las responsabilidades,
ensuciado por la persistencia, que es mejor que un mal modelo basado en
los almacenamientos!!!
Que es mejor? Un buen modelo con detalles sucios de implementación
ocultos en métodos privados o un mal modelo que persiste
"elegantemente"?
> Y por otro lado que ORM's para PHP me recomendas que hayas utilizado? Yo
> conozco Propel que es el ORM que utiliza Symfony para la persistencia, pero
> si vos tenes alguna sugerencia mejor.
Los ORM en PHP están verdes... al menos los que tienen la arquitectura
correcta. Supongo que con las clases de Reflection de PHP5 esto
mejorará.
La verdad es que no recomiendo ninguno: ni albañil, ni pintor ni
ORM ;-)
> Saludos
=mente!
--
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