CommonServiceLocator 的评论中环境一词的含义是啥?

Posted

技术标签:

【中文标题】CommonServiceLocator 的评论中环境一词的含义是啥?【英文标题】:What is the meaning of the word ambient in this comment from CommonServiceLocator?CommonServiceLocator 的评论中环境一词的含义是什么? 【发布时间】:2012-05-01 09:40:59 【问题描述】:

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

或者这是指标准模式? (即,我真的需要从头到尾阅读 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;
        
    

【问题讨论】:

【参考方案1】:

是的,“环境”应该是指“共享,所有人都可以使用”。

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

【讨论】:

以上是关于CommonServiceLocator 的评论中环境一词的含义是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Wpf之Microsoft.Extensions.DependencyInjection

实现.NET Framework接口的接口隔离原则

从 Prism 7 迁移到 Prism 8

通过 DI 的 WCF 构造函数服务类型

即使帖子和评论链接,帖子中的评论数组也不显示评论ID

获取用户评论以及在同一查询中分组的所有评论