c# - CommonServiceLocator 的这条评论中的环境一词是什么意思?

标签 c# comments common-service-locator

我想猜测“环境容器”与它是一个静态类这一事实有关,但这只是一个猜测。

或者这是指标准模式? (也就是说,我真的需要从头到尾读完那本 GoF 书)

namespace Microsoft.Practices.ServiceLocation
{
    /// <summary>
    /// This class provides the ambient container for this application. If your
    /// framework defines such an ambient container, use ServiceLocator.Current
    /// to get it.
    /// </summary>
    public static class ServiceLocator
    {
        private static ServiceLocatorProvider currentProvider;

        /// <summary>
        /// The current ambient container.
        /// </summary>
        public static IServiceLocator Current
        {
            get { return currentProvider(); }
        }

        /// <summary>
        /// Set the delegate that is used to retrieve the current container.
        /// </summary>
        /// <param name="newProvider">Delegate that, when called, will return
        /// the current ambient container.</param>
        public static void SetLocatorProvider(ServiceLocatorProvider newProvider)
        {
            currentProvider = newProvider;
        }
    }
}

最佳答案

是的,“ambient”应该意味着“共享,所有人都可以使用”。

如果您需要来自 DI 周围某处的引用,请搜索“环境上下文”模式,例如在 Mark Seemann 的“.NET 中的依赖注入(inject)”一书中进行了描述。

关于c# - CommonServiceLocator 的这条评论中的环境一词是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10235461/

相关文章:

c# - 具有多列的Android Listview

c# - 从继承类中覆盖虚方法但保留基类的注释

Facebook Like 评论框被垂直和水平切断

.net - 公共(public)服务定位器是否被广泛使用?

c# - IServiceLocator.GetInstance(Type) 的意图与 IServiceProvider.GetService(Type) 的意图有何不同?

c# - 在 DataGridView 中隐藏行非常慢

c# - XmlDocument.SelectSingleNode 和前缀 + xmlNamespace 问题

c# - 混淆哈希表的浅拷贝

sass - 嵌套选择器的注释未出现在预期位置