Если у меня есть агрегатный объект, например, Order -> OrderLine, где мой объект Order идентифицирован как агрегированный корень, следовательно, чтобы добавить OrderLine к Order, я ожидал бы сделать это через агрегатный корень и никакими другими способами, например Order.AddOrderLine (строка OrderLine).
Объект Order, очевидно, предоставляет коллекцию OrderLines, но как я могу запретить потребителям использовать эту коллекцию напрямую для добавления OrderLines, я предполагаю, что ответ заключается в использовании коллекции Readonly ??Остановит ли это потребителей изменение состояния объектов, т. Е. OrderLines в коллекции?
Спасибо