Hola Diego,
Creo que es clave que elijas un "pet project" (proyecto no
critico, interno, pequeño, incluso seria mejor que sea todo eso
junto).
Empezar con DDD no es facil, hay muchas cosas que aprender,
es cambiar de mentalidad. En un proyecto DDD es muy importante dedicar tiempo a
pensar el modelo, a buscar meter en el modelo el lenguaje y los conceptos del
dominio, etc. Es importante recordar que el modelo es el modelo del dominio, por
lo tanto tienen que estar en sintonia con el dominio y con el grado de detalle
necesario para resolver la funcionalidad.
No es raro que comiences un proyecto DDD, encuentras
algunos objetos y luego entres en la voragine del dia a dia y nunca mas te
preocupes en dedicar tiempo al refactoring, a pensar, etc.
Un tip que a mi me da resultado cuando explico
esto es: "no diseñes la base de datos hasta que no estes avanzado con el
modelo", esto es, hasta qye no hayas encontrado los conceptos y las relaciones
entre ellos, incluso no coloques las propiedades en los objetos al principio,
solo alguna muy importante conceptualmente. La herramienta mas util para empezar
es una pizarra o papel.
Creo que un buen libro para agarrar viaje es el de Larman,
UML y Patrones.
En cuanto a TDD, creo lo mejor es empezar a hacerlo y la
demostracion llega solita cuando promediado el desarrollo tenes 100 tests
corriendo, haces un cambio y volves a correr los test y sabes si metiste la pata
o no.
Ademas, creo que sirve mucho mientras desarrollas ese
cambio de contexto de escribir el test y luego el codigo para pasar, luego otro
test, mas codigo. Ese cambio constante a mi me resulta entretenido y me mantiene
con la moral alta debido a los muchos pequeños logros continuamente y, si hay
una macana, en todo caso la solucionas rapido.
Carlos
From: patrones@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Diego Jancic
Sent: Miércoles, 08 de Noviembre de 2006 10:36 a.m.
To: patrones List Member
Subject: !-> [patrones] [OT] Como convencer a alguien de usar DDD y TDD?Hola gente!,Yo personalmente estoy muy convencido de usar domain-model y TDD (o BDD como diria el M. Salias), pero el tema es este:Conozco a una persona que quiere usar DDD y TDD pero tiene "miedo" de hacer un cambio tan importante (ahora usa DataSets tipados)... que ventajas se les ocurren para "vender" un poco DDD y sobre todo TDD???A mi lo unico que se me ocurrio es calidad final y tiempo (aunque cuesta demostrar que se tarda menos usando TDD)...Gracias por leer hasta esta linea ;)Saludos!,Diego