我和Ninject - Kernel in static class?有同样的问题 但我没有使用 WCF,只使用了一个类库。
拥有一个静态内核更好,还是随时实例化它更好? 我的 UI(现在在 MVC 应用程序中)使用该服务,那么它会调用静态内核吗? 什么是最好的方法?
最佳答案
使用 IoC 时,首选方法是尽可能少地使用内核。应该在初始化时使用它来连接所有内容,然后快速安静地淡入背景。因此,在应用“好莱坞原则”的地方:“不要调用 IoC 容器,让它调用你!”。包含内核的静态类就是所谓的服务定位器反模式,请参阅 here .
简而言之:您将希望使用构造函数注入(inject)来注入(inject)依赖项,而不是每次都创建内核或引用静态类。
关于c# - Ninject - 类库项目中静态类中的内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11722175/