Задать вопрос
atis2345
@atis2345
PHP developer

Правильно ли использовать switch/case в паттерне Фабричный метод / Factory Method?

Всем привет.
По сути сабж.

Приведу пример:
interface House
{
    public function build();
    public function demolition();
}

class BlueHouse implements House
{
// реализация
}

class RedHouse implements House
{
// реализация    
}

class Factory
{
    public function factoryMethod($color)
    {
        switch($color)
        {
            case 'Red':
                return new RedHouse();
                
            case 'Blue':
                return new BlueHouse();

            default :
                throw new Exception('Undefined house\'s color');
        }
    }
}


Можно использовать Switch/Case для создания обьектов?
Пока ничего против не нашел но и не нашел что это 100% обязательно. Может кто сумеет опровергнуть?
Просьба отвечать только тем кто знаком с данным паттерном!!
  • Вопрос задан
  • 760 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Finsh К ответам на вопрос (2)
@Finsh
reflectionclass как-то использовал для этих целей рефлексию
Ответ написан
Комментировать