Какой это шаблон? (Factory / Builder / Mapper / другое)

Я взял ключи от DataMapper шаблон для создания чего-то вроде этого:

class BusinessObjectCreator
{
public function create()
{
//Acquire Data
$number = filter_input(INPUT_POST, "number", FILTER_SANITIZE_INT);

//create and populate object
$object = new Object();
$object->setNumber($number);
return $object;
}
}

//usage:
$objectInstance = (new BusinessObjectCreator())->create();

//examples of usage once created
$objectInstance->someBusinessFunction();
echo $objectInstance->getNumber();

Но для меня это также выглядит как Factory шаблон или Builder шаблон.

Что он? и правильно ли я его кодировал?

Цель состоит в том, чтобы создать экземпляр объекта населенный с данными. Затем я могу использовать созданный объект для выполнения операций с данными.

0

Решение

Это похоже на фабричный метод. Соглашение об именах заставляет вас думать, что это шаблон строителя, который имеет отдельный объект для построения конкретного объекта. У вас есть отдельный объект, но вы не устанавливаете данные, как это сделал бы строитель.

Я не слишком знаком с PHP, но чтобы сделать его шаблоном компоновщика, нужно создать методы для данных, а затем вызвать create () / build () в конце цепочки методов.

Это создание будет выглядеть так

$objInstance = (new BusinessObject())->number($number)->create();

Поскольку у вас есть только класс с методом, который создает объект, этот шаблон попадает в категорию фабричных методов. Обычно вы используете конструктор, когда существует множество потенциальных различных конфигураций объекта при создании, поэтому вы можете просто придерживаться фабричного метода, если вы устанавливаете только один фрагмент данных.

Образец Строителя

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]