Добрый день, есть код с множеством условий, что-то типа такого:
$type = 'a'; // название действия
if ($type == 'a') {
return new A();
}
if ($type == 'b') {
return new B();
}
if ($type == 'c') {
return new C();
}
Примерно так у меня, пример упрощен, но думаю суть понятна. Ясно, что такой код тяжело сопровождать и вообще это плохо так делать?, да ещё этих type'ов может быть не три, а тридцать, например, и что, тогда каждый раз писать условие, которое создает объект? Какие в подобных ситуаций можно применить методы/способы/паттерны, чтобы без боли можно было смотреть на такой код и его было легко поддерживать, как вообще поступают?
Если можно, с примерами, пожалуйста, хочется разобраться в этом вопросе.