там не товар - там тип снэпшета "сколько стоит товар на момент оформления заказа". И да не всегда это зона ответственности заказа, есть всякие резервации и т.д. это просто оч упрощенный пример
если у тебя есть данные которые имеют какой-то смысл только вместе и вместе описывают некие правила - то может быть весьма удобно завести под это дело VO.
еще whole value концепцию можно погуглить - ток сложнее гуглить такое. Чаще всего в разрезе functional core imperative shell можно встретить
> From the above class diagram, The Sale class contains (in fact, aggregates) many SalesLineltem objects, the Creator pattern suggests that Sale class is a good candidate to have the responsibility of creating SalesLineltem instances.
короч там нет прям жестких правил, ты смотришь на отношения между объектами, насколько тестно штуки связаны, пересекаются ли жизненные циклы этих сущностей (что мол order line без order существовать не особо может) и на основе этого тебе предлагается кандидат для фабрики.
Вот в твоем первом примере addOrderItem(int amount, String name, int price) Откуда ты возьмешь name и price, если не из товара? Раз из товара, значит, он уже откуда-то к тебе пришел, ведь так?