【发布时间】: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 相同?
这造成了我有点奇怪的情况
- 在容器中注册我所有的依赖,
- 然后解决某种填充缓存的引导程序,
- 然后将缓存作为另一个注册添加到容器中
这是初始化容器的合法方式吗? 没有同时完成所有注册似乎有点奇怪
【问题讨论】:
标签: c# design-patterns caching inversion-of-control ioc-container