saoj wrote:Ter DI atrelado a uma classe concreta soa muito mal, ou seja, fazer algo assim seria muito esquisito:
di("userDAO", OracleUserDAO.class).source("dao");
Vai até funcionar mas se amanhã o cara trocar o IoC que está gerando o UserDAO para MySQLUserDAO.class, ele vai ter que mudar toda a configuração de DI também, ou seja, ao invés de auto-wiring, virou dependency lookup.
É isso?
Onde é que a DI do Seam é atrelada a uma classe concreta?
Se você quer mudar o "userDAO" pra o MySQLUserDao, é só chegar nele e fazer isso:
Nenhum dos clientes do "userDAO" vão saber que ele mudou.