I've been programming for many years, recently i've been trying to apply some of the ideas from Domain driven design, but I still struggle with deciding on good names for certain parts of a system.
Here's one example;
I have a WCF webservice that returns "Computer" objects. The object is an aggregate root that contains child entities.
The child entities are loaded from two different databases, and from Active Directory.
Right now I have separate Repository classes for each entity "ComputerAssetRepository", "DeploymentRepository", "DirectoryRepository" and so on, then I have a "ComputerRepository" that calls each child repository and returns the result into the "Computer" aggregate root entity.
I should probably only have a single "ComputerRepository" and the other classes are only responsible for data access from the various sources. Since they need common repository functions FindById/Add/Remove/Contains etc I call them repositories.
Is there a better name for these classes?