The repository implementations can reference and implement all the interfaces
they want, now that I picture it more. In fact, there's nothing stopping you
from having one giant implementing class which implements all repository
interfaces in every domain you have. It's kind of silly, but it's allowed. The
abstractions and separation of concerns are in the interfaces. The
implementation is of less concern because it should be
disposable/replaceable. – DavidMar 21 '11 at
22:37