Nicki
Новичок
Создание связанных объектов, инкапсулированных друг в друге
Вопрос собствнно говоря нуба. Не пинайте сильно - просто разобраться немного хочу. Вот к примеру есть таблицы Покупатели, Заказы, Товары. Хочется с ними работать объектной моделью. Для этого у нас есть объекты Покупатель, Заказ и Товар. В объекте Покупатель хранится хэш объектов Заказ (по объекту на каждый заказ покупателя), а в объекте Заказ хранится хеш объектов Товар.
Теперь... регистрация, удаление, правка данных покупателя это один маппер. Добавление, правка заказа, выполнение заказа это второй маппер. С товарами тоже самое - категории товаров, перемещение, добавление, правка товаров - третий маппер. Так получается или я не прав?
А вот как быть, если нужно создать объект Покупатель, и не один объект, а некое множество, причем с загруженными в них объектами заказов. Это чья логика? Тут ведь идет загрузка их нескольких таблиц, создаются разные объекты (Покупатель, Заказ, Товар), их нужно как-то "разложить" друг в друга. Это логика уже еще одного маппера или все того же Покупателя, или совместная... а может отдельного объекта? Я знаю про такие системы, как, например, Доктрин, позволяющие реализовать загрузку связанных данных и собрать их в объекты с минимумом запросов к БД. Но если оставить такие системы в стороне, как это реализуется?
Вопрос собствнно говоря нуба. Не пинайте сильно - просто разобраться немного хочу. Вот к примеру есть таблицы Покупатели, Заказы, Товары. Хочется с ними работать объектной моделью. Для этого у нас есть объекты Покупатель, Заказ и Товар. В объекте Покупатель хранится хэш объектов Заказ (по объекту на каждый заказ покупателя), а в объекте Заказ хранится хеш объектов Товар.
Теперь... регистрация, удаление, правка данных покупателя это один маппер. Добавление, правка заказа, выполнение заказа это второй маппер. С товарами тоже самое - категории товаров, перемещение, добавление, правка товаров - третий маппер. Так получается или я не прав?
А вот как быть, если нужно создать объект Покупатель, и не один объект, а некое множество, причем с загруженными в них объектами заказов. Это чья логика? Тут ведь идет загрузка их нескольких таблиц, создаются разные объекты (Покупатель, Заказ, Товар), их нужно как-то "разложить" друг в друга. Это логика уже еще одного маппера или все того же Покупателя, или совместная... а может отдельного объекта? Я знаю про такие системы, как, например, Доктрин, позволяющие реализовать загрузку связанных данных и собрать их в объекты с минимумом запросов к БД. Но если оставить такие системы в стороне, как это реализуется?
