или это по канонам запрещено?
а как такое возможно вообще? У вас есть некий объект который создается фабрикой. И есть разные фабрики которые могут по разному создать этот объект. Как он может о фабрике вообще что то знать? каким образом?
да хоть контекст фабрики передавать в аргументы инициализации инстанса
Ну так зачем это делать? Фабрика из жизни взята ведь. Завезли яблоки, упаковку, и сахар, на выходе получили конфеты. Вы ведь не засунете в конфеты саму фабрику? Да на упаковке конфет может быть обратный адрес фабрики, но это обусловлено требованиями регулятора. А в вашем кейсе зачем это нужно? Зачем контекст фабрики передавать в инстанс? Для какой цели?
у меня создание и удаление инстансов происходит в фабрике, условно я удаляю объект так: instance.destroy() и чтоб в методе destroy не создавать ещё одну фабрику, для удаления этого элемента, я использую this.factory.destroyInstance(this)
В целом, можно представить ситуацию, что один агрегат порождает другой агрегат и передаёт в него ссылку на себя
Зачем это может понадобиться?
Всякие one to many штуки
Например кастомер делает заказ
Там референс часто не нужен
Ты собираешь внутри заказа делать другие заказы через кастомера чтоли? Мб стоит началь просто с передачи айди кастомера, потом по мере надобности добавлять в трансфер обьект что надо.
скорее всего он имеет ввиду адаптер, соединяющий объекты кастомера и ордера
> Ты собираешь внутри заказа делать другие заказы через кастомера чтоли? Не понял немного. Я имел ввиду, что на объект кастомера может быть метод makeOrder() который будет возвращать объект ордер, у которого будет ссылка на кастомера
> Мб стоит началь просто с передачи айди кастомера, потом по мере надобности добавлять в трансфер обьект что надо. Ссылки между агрегатами можно делать по разному, и через id и через объекты. Через объекты более по ddd'ному
лучше головой думать, а не ддд
Ммм.... Оч сомнительное утверждение про передачу обьектами
Если пользователь поменяет адрес в процессе доставки? Данные заказа нужно менять отдельно от данных пользователя
Мб лучше слушать эвент смены адреса и обновить именно эту инфу в заказе вместо ссылки на целого кастомера?
то что кто-то говорит "кастомер" не значит что речь идет о каком-то глобальном "кастомере". в одном контексте это одна сущность в другом другая синхронизации данных между контекстами в целом лучше избегать
Речь же шла о кастомере, который создавал сам ордер. А о каком то другом, урезанном, кастомере я и сам писал.
Только наоборот, клонировать при редактировании то, что прикреплено к пользователю или к заказу. Но можно влететь в неуправляемую сложность. Лучше при создании заказа создать копию независимую.
Обсуждают сегодня