5
使用NInject建立工厂的最佳方法是什么?
我对在MVC3中使用NInject进行依赖项注入非常满意。在MVC3应用程序中工作时,我使用NInject开发了一个自定义的Controller Creation Factory,因此所创建的任何控制器都将通过此Controller Factory注入依赖项。 现在,我开始开发Windows应用程序,我想使用应用程序范围依赖注入。即,必须通过NInject创建每个对象,以简化单元测试。请指导我确保创建的每个对象都只能通过NInject Factory。 例如,如果在Button_Click事件的任何Windows窗体上我都写: TestClass testClass = new TestClass() 并且TestClass有任何依赖,例如,ITest必须自动解决。我知道我可以使用: Ikernel kernel = new StandardKenel() //AddBinding() TestClass testClass = kenel.get<TestClass>(); 但是我发现每次要创建对象时都要执行此操作很麻烦。它还迫使开发人员以特定方式创建对象。可以做得更好吗? 我可以有一个用于对象创建的中央存储库,然后每个对象创建都会自动使用该存储库吗?