Normalement, je ferais ceci:Est-ce fondamentalement ce que fait un IOC comme NInject?
public class DBFactory
{
public UserDAO GetUserDao()
{
return new UserDao();
}
}
Où UserDao étant la mise en œuvre concrète de IUserDao.
Alors maintenant, mon code sera jonché:
DBFactory factory = new DBFactory();
IUserDao userDao = factory.GetUserDao();
User user = userDao.GetById(1);
Maintenant, si je voulais échanger implementaitons, je dois aller à mon DBFactory et changer mon code pour appeler une implémentation différente.
Maintenant, si j'utilisais NINject, je lierais l'implémentation spécifique au démarrage de l'application, ou via un fichier de configuration. (ou lier en fonction de paramètres spécifiques etc. etc.).
Est-ce tout ce qu'il y a aussi? Ou est-il plus?
(raison pour laquelle je demande si je veux savoir comment il va me aider: Help designing a order manager class)
Lier(). () ferait tout fonctionner. –
LukLed