I have a quite complex aggregate, with aggregate root Order. It contains entities (eg. OrderItem) which are meaningless outside an aggregate. But there are also entities that are supposed to be part of this aggregate, but also do make sense outside this aggregate (eg. ShippingMethod or Invoice).
Is it right to have a repository for this complex aggregate (loading whole aggregate by root's id) and also have CRUD repository for managing possible shipping methods and another repository for listing invoices?
More generally, is it possible in DDD to have an aggregate, which is part of another aggregate?
ShippingMethodlooks like a good idea, thanks. - Matěj Koubík