Является ли использование словаря хорошей практикой для сохранения тех же классов? - PullRequest
0 голосов
/ 02 июля 2018

Мне нужно собрать несколько классов и предоставить их по запросу для некоторых частей программы. У меня есть следующий код:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...