使用字典来保持相同班级是一种好习惯吗?

时间:2018-07-02 09:38:15

标签: c# design-patterns

我需要收集一些类,并根据请求将其提供给程序的某些部分。我有以下代码:

public interface ISameClass
{
    int Value { get; set; }
    void DoStuff();
}

public class SameClass : ISameClass
{
    int Value { get; set; }
    void DoStuff()
    {
    //Do something
    }
}

public class SameClassProvider
{
        private readonly Dictionary<string, ISameClass> _sameClasses;

        public SameClassProvider(string parentDir)
        {
            _sameClasses = new Dictionary<string, ISameClass>
            {
                { "Type1", new SameClass() },
                { "Type2", new SameClass() },
                { "Type3", new SameClass() }
            };
        }

        public bool AddClass(string type, ISameClass class)
        {
            if (_sameClasses.ContainsKey(type) || class == null)
            {
                return false;
            }

            _nodes.Add(type, class);
            return true;

        }

        public ISameClass GetClass(string type)
        {
            if (_sameClasses.TryGetValue(type, out var someClass))
            {
                return someClass;
            }
        }
}

使用类似SameClassProvider的类是一种好习惯吗?或者我可以重构这个东西或替换为正确的模式? Tnx

0 个答案:

没有答案