通常、私はこれを行います:
public class DBFactory
{
public UserDAO GetUserDao()
{
return new UserDao();
}
}
UserDao は IUserDao の具体的な実装です。
だから今、私のコードは散らばっています:
DBFactory factory = new DBFactory();
IUserDao userDao = factory.GetUserDao();
User user = userDao.GetById(1);
実装を交換したい場合は、DBFactory に移動し、別の実装を呼び出すようにコードを変更する必要があります。
NINject を使用する場合、アプリケーションの起動時または構成ファイルを介して特定の実装をバインドします。(または特定のパラメータなどに基づいてバインドします)。
それだけですか?それとももっとありますか?
(ここでどのように役立つかを知りたいかどうかを尋ねている理由:注文マネージャークラスの設計を支援する)