Какой паттерн или способ использовать, если объект в виде переменной?

Приветствую.
Не придумал как верно задать заголовок вопроса, кто поймет, поправьте плз.

Мне интересно, какой паттерн или еще что, надо использовать при подобной схеме.
Т.е. у нас есть два метода, которые возвращают разные объекты. (AllClass, SecondClass)
Они одинаковы но для разных целей.

Метод response принимает два объекта, это может быть All* или Second*
Внутри происходит множество операций и в итоге возвращается заполненный $class.
В данной схеме все конечно работает, но выглядит код ужасно.

Прошу помощи, как лучше это реализовать.

protected function createResponse(): AllClass
    {
        return $this->response(AllClass::class, AllTestClass::class);
    }

    protected function createSecondResponse(): SecondClass
    {
        return $this->response(SecondClass::class, SecondTestClass::class);
    }
  
    protected function response ($class, $testClass)
    {
         $city = new $class();
         $country = (new $testClass())->setCountry('Russia');
         
         return $city->setCountry($country);
    }
  • Вопрос задан
  • 168 просмотров
Решения вопроса 1
@kuftachev
Я что-то не сильно из Вашего текста понял, что Вы хотите получить, но возможно речь идёт об Абстрактной фабрике или о Фабричном методе.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы