В зависимости от переменной объявлять нужный класс

подскажите пожалуйста как можно реализовать обьявление классов более лучше?

Пример: Есть переменная: string type = "...";

И есть к примеру 3 класса:

public class Test1
{
    ...
}

public class Test2
{
    ...
}

public class Test3
{
    ...
}

С суть проста: в зависимости от того что находится в type, в зависимости от этого обьявлять тот или иной класс.

Я могу реализовать конечно вот так:

switch(type)
{
    case "Test1":
        Test1 test = new Test1();
        break;

    case "Test2":
        Test2 test = new Test2();
        break;
  
    case "Test3":
        Test3 test = new Test3();
        break;
    
    default:
        break;
}

Вопрос крайне простой: Возможно ли это реализовать проще и желательно без if/switch?


Ответы (1 шт):

Автор решения: Aziz Umarov

Кусочек отсюда

Не стоит трогать, если...

  • Когда оператор switch выполняет простые действия, нет никакого смысла что-то менять в коде.

  • Зачастую оператор switch используется в фабричных паттернах проектирования (Фабричный метод, Абстрактная фабрика) для выбора
    создаваемого класса.

→ Ссылка