Приветствую.
Не придумал как верно задать заголовок вопроса, кто поймет, поправьте плз.
Мне интересно, какой паттерн или еще что, надо использовать при подобной схеме.
Т.е. у нас есть два метода, которые возвращают разные объекты. (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);
}