Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.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/4/oop/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#_Oop - Fatal编程技术网

C# 如何命名只提供静态属性的类?

C# 如何命名只提供静态属性的类?,c#,oop,C#,Oop,我正在根据类的用法熟悉类的正确名称。我有一个只提供自身之外的静态属性的类,我想知道在类的名称中添加“Provider”是否公平,或者它是否具有误导性 这是我的“MyConfiguration Provider”类: 公共静态类MyConfiguration Provider { 私有静态惰性配置; 公共静态配置 { 得到 { 返回\u myConfiguration?? (_myConfiguration=GetMyConfiguration()); } } 私有静态惰性GetMyConfigu

我正在根据类的用法熟悉类的正确名称。我有一个只提供自身之外的静态属性的类,我想知道在类的名称中添加“Provider”是否公平,或者它是否具有误导性

这是我的“MyConfiguration Provider”类:

公共静态类MyConfiguration Provider
{
私有静态惰性配置;
公共静态配置
{
得到
{
返回\u myConfiguration??
(_myConfiguration=GetMyConfiguration());
}
}
私有静态惰性GetMyConfiguration()
{
var myOptions=新配置选项();
返回新的Lazy(()=>新的MyConfiguration(myOptions));
}
}

您的MyConfiguration Provider类正在实现单例模式。您可能希望将其命名为ConfigurationSingleton。

您的MyConfigurationProvider类正在实现Singleton模式。您可能想将其命名为ConfigurationSingleton。

我的建议是,您可以将其命名为最容易理解该类意图的名称

如果你需要和其他人一起工作,那么就快速聊天,看看这个名字对他们是否有意义


对于后缀
Provider
,在.NET上下文中,通常用于指示您正在遵循一个。

我的建议是,只要您能最容易理解类的意图,就给它命名

如果你需要和其他人一起工作,那么就快速聊天,看看这个名字对他们是否有意义

对于后缀
提供程序
,在.NET上下文中,该上下文通常用于指示您正在遵循一个

public static class MyConfigurationProvider
    {
        private static Lazy<MyConfiguration> _myConfiguration;

        public static Lazy<MyConfiguration> MyConfiguration
        {
            get
            {
                return _myConfiguration??
                    (_myConfiguration= GetMyConfiguration());
            }
        }

        private static Lazy<MyConfiguration> GetMyConfiguration()
        {
            var myOptions= new ConfigurationOptions();

            return new Lazy<MyConfiguration>(() => new MyConfiguration(myOptions));
        }
    }