【问题标题】:Staying open with DI/IoC containers使用 DI/IoC 容器保持开放
【发布时间】:2011-01-14 10:29:18
【问题描述】:

我参与了几个开源项目,这些项目共同提供了一个应用程序开发框架。我的问题是我应该提供什么机制来将它们相互集成?

在概念层面上,答案很明确 - DI/IoC。 “唯一”的问题是决定哪一个。在几次安装中,我们使用了 StructureMap,但后来出现了一位只想要其中一个组件并想要 NInject 的用户。

所以,为了限定问题,我应该如何构建我的组件,以便它们可以使用各种 DI/IoC 容器相互集成(以及第 3 方)。

我能想到的最好办法是将所有集成代码分离到单独的项目中,然后为每个受支持的 IoC 容器创建一个项目,但这听起来有点像 IoC 平方。

有什么好主意吗?还是我想太多了?

附:对于好奇:NDjangoBistro; Workflow Server

【问题讨论】:

    标签: ioc-container


    【解决方案1】:

    只要开发了可复用的组件,就可以在DI-friendly way without ever referencing any particular DI Container中实现。

    只有当您需要编写一个实际运行的应用程序时,您才需要 DI 容器,但据我所知,您正在开发一个框架,最好保持它与 DI 无关。

    【讨论】:

      【解决方案2】:

      this very related question(几乎是重复的)。

      有关集成多个项目同时保持它们独立的灵感,请参阅Castle Project

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-12
        • 1970-01-01
        相关资源
        最近更新 更多