在类库中实例化Castle Windsor容器时的最佳做法是什么?

she*_*nku 5 c# castle-windsor castle inversion-of-control .net-assembly

我想知道实例化温莎城堡容器的最佳位置在一个类库中.

我应该只在我正在使用的类的构造函数中执行它,还是有一个我不知道的程序集入口点?

谢谢.

Tom*_*m W 7

注入对象图的配置完全取决于实际使用它的应用程序的需求.使用容器的关键是能够在运行时配置依赖项 - 库不知道如何使用它.

库类应该以允许您使用任何您喜欢的容器或者消费者认为合适的穷人依赖注入的方式编写.将库耦合到容器是一种气味.


Cri*_*ixo 6

我可能会说你不应该直接在容器库中使用容器.您的类库应该在库中的类之间具有依赖性.应用程序(应用程序图的前端/根)将使用容器来解析所有依赖关系,包括那些进入类库的依赖关系.恕我直言使用IoC类库中的气味就像一个ServiceLocator.