Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从容器中获取静态数据_C#_Design Patterns_Caching_Inversion Of Control_Ioc Container - Fatal编程技术网

C# 从容器中获取静态数据

C# 从容器中获取静态数据,c#,design-patterns,caching,inversion-of-control,ioc-container,C#,Design Patterns,Caching,Inversion Of Control,Ioc Container,我目前有一个缓存对象(它是字典的包装器)实现为单例 我刚刚读了这篇关于单例模式的文章: 这让我想到也许我应该利用我的IoC容器,而不是一个单例。 因为我发现很难测试访问Singleton的部分代码 因此,我的问题是: 城堡里的单身生活方式(或者任何国际奥委会的容器)和手摇GoF单身生活一样吗 这就造成了我所认为的非常奇怪的情况 在容器中登记我的所有从属关系 然后解析某种填充缓存的引导程序 然后将缓存作为另一个注册添加到容器中 这是初始化容器的合法方式吗? 不同时完成所有注册似乎有点奇怪Sing

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

我刚刚读了这篇关于单例模式的文章:

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

因此,我的问题是:

城堡里的单身生活方式(或者任何国际奥委会的容器)和手摇GoF单身生活一样吗

这就造成了我所认为的非常奇怪的情况

  • 在容器中登记我的所有从属关系
  • 然后解析某种填充缓存的引导程序
  • 然后将缓存作为另一个注册添加到容器中
  • 这是初始化容器的合法方式吗?
    不同时完成所有注册似乎有点奇怪

    Singleton只包含一个object实例,在本例中,这是通过依赖注入框架实现的。Singleton与初始化时间无关。您可以创建singleton并在以后初始化/修改它。您可以随时将对单例的引用传递给其他对象