【问题标题】:StructureMap singletonStructureMap 单例
【发布时间】:2011-07-21 21:37:47
【问题描述】:

这两个是等价的吗?

1) var store = new DocumentStore();

        For<IDocumentStore>().Use(store);

2) var store = new DocumentStore();

        For<IDocumentStore>().Singleton().Use(store);

        For< IDocumentStore>().AlwaysUnique().Use(store);

这两个都会返回没有重复实例的文档存储的单例实例吗?

【问题讨论】:

    标签: ioc-container structuremap


    【解决方案1】:

    AlwaysUnique() 做相反的事情,总是创建一个独特的(新的)实例,有点与单例相反。 请参阅this stackoverflow post ,了解如何在两个接口之间共享单点。

    Singelton() 创建单点。在您的示例 IDocumentStore 中,此接口的此容器是 Singelton。 (编辑):它实际上是为这个容器临时创建的对象的单例。请将该术语与结构图一起搜索。通常这些是自动创建并注入到类中的对象,但我还没有看到它的确切定义。

    【讨论】:

      【解决方案2】:

      当你提供一个实例而不是一个类型时,你总是会得到单例行为。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-24
        • 1970-01-01
        • 1970-01-01
        • 2011-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多