我目前有一个作为单例实现的缓存对象(它是字典的包装器)。
我刚刚阅读了这篇关于单例模式的文章: http ://ayende.com/blog/159426/design-patterns-in-the-test-of-time-singleton?key=e4eedc32-f43f-44e9-966d- 90a6ff792ddf
这让我想到也许我应该利用我的 IoC 容器而不是单例。因为我发现很难测试访问 Singleton 的部分代码。
所以我的问题是:
Castle 中的 Singleton 生活方式(或任何 IoC 容器)是否与手卷 GoF Singleton 相同?
这造成了我有点奇怪的情况
- 在容器中注册我的所有依赖项,
- 然后解决某种填充缓存的引导程序,
- 然后将缓存作为另一个注册添加到容器中
这是初始化容器的合法方式吗?没有同时完成所有注册似乎有点奇怪