Aggregate Roots에 대한 나의 이해가 정확하다면 루트는 "children"중 하나를 삭제해야합니다. 이는 다음과 같은 것으로 해석됩니다.집계 루트는 하위 노드 중 하나를 어떻게 삭제합니까?
order.removeOrderLine(23);
효과적으로 컬렉션에서 제거 할 것입니다. 그러나, 이것은 어떻게 지속됩니까? 내 ORM의 UnitOfWork가 그 콜렉션에서 누락 된 것이 무엇인지 감지하고 데이터베이스에서 삭제해야합니까?
대신에 OrderRepository의 메소드를 removeOrderLine해야합니까?
컬렉션 변경 추적과 관련하여 "추가"및 "제거"메서드에 대한 모든 호출을 캡처하고 2 개의 내부 "컬렉션"에 추가/제거 된 개체를 저장하는 사용자 지정 컬렉션을 구현하는 데 좋은 경험이 있습니다. 추가 된 항목, 제거 된 항목의 모음 1 개. 그러면 UoW는 단순히 무엇이 변경되었는지 컬렉션에 요청할 수 있습니다. – Tomas