我最近一直在玩温莎城堡,并意识到我可以用它来支持我目前使用的容器式物体。到目前为止,我只阅读了有关每个应用程序只有一个容器实例的应用程序的信息。如果这些容器属于不同的层,每个应用程序有多个容器是否正确?
我问的原因是因为我想利用Windsor的依赖性解析和XML配置来获取我自己的容器类对象。我目前使用Windsor与MonoRail集成,混合使用与MonoRail及其控制器层无关的组件似乎不正确。我的第二个容器将拥有自己的配置文件,并且不了解MonoRail及其使用的容器。它完全位于不同的层中,最终将被注册为MonoRail控制器的依赖项。我觉得应该避免在容器实例周围传递,所以这是避免这种情况的正确方法吗?
答案 0 :(得分:2)
就个人而言,我只使用一个容器没有任何问题。毕竟,您的MonoRail控制器只会知道他们需要的服务/接口,因此他们不需要了解其他层的内部组件。
如果你仍然不想让你的内部组件对应用程序的其余部分如此可见,这里有几个想法:
无论您做什么, 不 都希望让每个组件直接访问容器。如果有的话,请将其保存在“胶水代码”中。
答案 1 :(得分:0)
我认为拥有许多独立的容器并不是一个好主意。但是,您可能希望拥有一个应用程序范围的母容器和范围更窄的子容器。
答案 2 :(得分:0)
你可能会使用子内核吗?但我不太喜欢这个想法。