Hola gente!

Sebastian, con respecto a 2), B seria un IRepository (una interface) o un 
RepositoryBase (una clase base de todos los repositorios).

Tambien podria ser que A sea el Repositorio, y B un DAL, por ejemplo, y que B1 
sea el DAL manual, B2 un DAL via NHibernate, y asi....

Con respecto a 1), el Abstract Factory le delega la creacion a algo de codigo. 
Con DI, la creacion la podrias delegar a configuracion, archivos externos, algo 
que diga de alguna forma, que el B que le corresponde al objeto A es un B2 
ahora, y en la proxima ejecucion, cambiando la configuracion, le das un B1. Y 
eso sin que A vea un abstract factory: simplemente se lo inyecta en general, 
como parametro en el constructor, o como alguna propiedad.

No entendi tu caso Reflection en particular, se me ocurren varios caminos, no 
se cual tenias en mente....

La primera vez que "vi la luz" con el DI fue en el libro de Rod Johnson (si, ya 
se, lo conte mil veces, pero .... ). One-To-One Expert J2EE Development o algo 
asi. En el capitulo 9, el bueno de Johnson explica las ventajas de trabajar con 
Beans que levanta dinamicamente, y los conecta dinamicamente, todo definido 
desde archivos de configuracion. Muy interesante, de ahi salio el Spring 
Framework de Java y ahora, el de .NET. 

Ahora bien, DI se puede usar por codigo, no necesariamente con archivos de 
configuracion. Pero es muy usado de esta ultima forma, desde que hay frameworks 
de DI, como los que mencione en el ultimo email.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com/
  ----- Original Message ----- 
  From: Sebastian Renzi 
  To: patrones List Member 
  Sent: Thursday, December 14, 2006 12:00 PM
  Subject: [patrones] Inversion of Control and Dependency Injection


  Angel, antes que nada gracias por la respuesta.

  Te hago un par de consultas,

  1)       Que ventajas hay en usar este patrón y no por ejemplo el Abstract 
Factory, o Reflection ?

  2)       Específicamente hablando del caso que vos nombras en el Repository 
(DDD), de que tipo de datos es B dentro de A ?, interface ?

   

  Saludos y gracias


------------------------------------------------------------------------------

  De: patrones@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Angel "Java" 
Lopez
  Enviado el: jueves, 14 de diciembre de 2006 11:33
  Para: patrones List Member
  Asunto: [patrones] Inversion of Control and Dependency Injection

   

  Hola Sebastian!

   

  Gran pregunta.... 

Responder a