Domain driven design and aggregate refereces
===

I am designing the domain model, but there is something that doesn't seem to be ok.

I start with a main aggregate. It has references to other aggregates and those other aggregates reference more aggregates too. I can travel the hole domain model starting from the main aggregate.

The problem I see is that I will be holding all instances of aggregates in memory.

Is that a good design? I can solve the memory problem with lazy loading but I think that I have a deeper problem.

I have another question regarding aggregate references. Should I load the references to other aggregates lazily? If that is the case I would almost never user their repositories. Is that ok?

Thanks.