Это считают лучшей практикой и/или более эффективное для создания функции 'сброса' для конкретного объекта, который очищает/принимает значение по умолчанию все необходимые членские переменные, чтобы допускать дальнейшие операции или просто создать новый объект снаружи?
Я видел, что оба метода использовали много, но я не могу решить, какой лучше. Конечно, для классов, которые представляют соединения с базой данных, необходимо было бы использовать метод сброса вместо того, чтобы создать новый, приводящий к бесполезному соединению/разъединению, но я говорю больше с точки зрения классов абстракции.
Кто-либо может дать мне некоторые реальные примеры того, когда использовать каждый метод? В моем особом случае я думаю главным образом с точки зрения ORM или Модели в MVC. Например, если я хотел бы получить набор объектов базы данных для дисплея и изменить их в одной операции.
При повторном использовании объектов используется шаблон Пул объектов .
Один из основных вопросов, который следует учитывать, - это то, какое состояние имеют эти объекты, и какую часть этого состояния необходимо сбросить для следующего пользователя. С подключением к базе данных вы не хотите, чтобы снова выполнять подключение - в противном случае вы могли бы просто создать новое. Идея состоит в том, чтобы оставить объект подключенным, но очистить любые результаты.
Причины не использовать пул объектов:
Причины использования пула объектов:
Дополнительные подробности в статье Кирхера и Джейна .
Сброс выполняется из соображений производительности. Подход по умолчанию заключается в создании нового объекта, когда он вам нужен, а не переработке существующего. Если вы не беспокоитесь о том, что ваш php медленный, чем просто create. Если вы беспокоитесь о том, что php работает медленно, вам следует остановиться и подумать о других вещах, которые, по вашему мнению, будут намного медленнее.