【问题标题】:Getting static data out of a container从容器中获取静态数据
【发布时间】:2012-10-22 03:03:12
【问题描述】:

我目前有一个作为单例实现的缓存对象(它是字典的包装器)。

我刚刚阅读了这篇关于单例模式的文章: http://ayende.com/blog/159426/design-patterns-in-the-test-of-time-singleton?key=e4eedc32-f43f-44e9-966d-90a6ff792ddf

这让我想到也许我应该利用我的 IoC 容器而不是单例。 因为我发现很难测试访问 Singleton 的部分代码。

所以我的问题是:

Castle(或任何 IoC 容器)中的 Singleton 生活方式是否与手卷 GoF Singleton 相同?

这造成了我有点奇怪的情况

  1. 在容器中注册我所有的依赖,
  2. 然后解决某种填充缓存的引导程序,
  3. 然后将缓存作为另一个注册添加到容器中

这是初始化容器的合法方式吗? 没有同时完成所有注册似乎有点奇怪

【问题讨论】:

    标签: c# design-patterns caching inversion-of-control ioc-container


    【解决方案1】:

    单例是指只有一个对象实例,在这种情况下是通过依赖注入框架实现的。单例与初始化时间无关。您可以创建单例并稍后对其进行初始化/修改。您可以随时将单例的引用传递给其他对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多