Мне всегда было интересно, как мне написать и какой шаблон проектирования использовать для создания списков объектов.
Прежде всего, учтите, что у меня есть класс Customer и класс Order.
Я хотел бы получить все заказы, принадлежащие пользователю.
Я бы хотел $ oCustomer-> getOrders (); вернуть массив объектов Order.
По сути, я думал о:
Класс OrderManager, который является одноэлементным и имеет возможность извлекать данные Order из механизма хранения и создавать объекты Order. Но я везде читал, что это плохая практика, так что это не кажется хорошей идеей.
Использование статических методов в классе Order, таких как getOrders (args), но я не уверен, что это реальная точка статических методов.
Использование фабрики (которую я, к сожалению, никогда не использовал) для управления созданием объектов (мне может понадобиться несколько примеров)
Использование метода в инстанцированном объекте Order. Это кажется худшим вариантом в мире, поскольку я действительно не думаю, что объект должен быть в состоянии вернуть коллекцию самого себя.
Это похоже на очень простую задачу, которую я думаю. Но я нигде не смог найти кого-то, кто дал бы «правильный» способ сделать это.
Я в порядке с добавлением других классов и т. Д. (Таких как DataMappers, Gateways, ASO ... для обработки поиска и отображения), но я действительно не хочу говорить с ними в моей логике бизнеса.
Заранее спасибо.