2009-08-25 18 views
2

我已经编程了很多年,最近我一直试图应用来自域驱动设计的一些想法,但我仍然在为系统的某些部分决定好名字而挣扎。如何命名存储库用于数据访问的类?

下面是一个例子;

我有一个WCF webservice,返回“计算机”对象。该对象是一个包含子实体的聚合根。

子实体从两个不同的数据库以及Active Directory中加载。

现在我已经为每个实体“ComputerAssetRepository”,“DeploymentRepository”,“DirectoryRepository”等单独存储库类,然后我有一个“ComputerRepository”调用每个子存储库并将结果返回到“Computer”聚合根实体。

我应该只有一个“ComputerRepository”,其他类只负责从各种来源访问数据。因为他们需要公共存储库函数FindById/Add/Remove/Contains等我称他们为存储库。

这些类有更好的名字吗?

回答

1

我认为正确的答案取决于该ComputerAssetDeploymentDirectory,以及其他类似的子实体是否是在全球范围内同样的方式,Computer是可访问的集合体。

无论哪种方式,我认为他们应该拥有自己的存储库,我认为他们现在适合命名。 DDD意义上的“存储库”只是指用于处理现有对象(工厂处理新对象的创建)的遍历机制。但是如果他们不打算在全球范围内访问,只需将这些存储库内部地址设置为ComputerRepository即可。

+0

感谢您的确认。 – Andronicus 2009-08-26 09:19:42