繁体   English   中英

如何命名存储库用于数据访问的类?

[英]How do I name classes that a Repository uses for data access?

我从事编程已经很多年了,最近我一直在尝试应用域驱动设计中的一些想法,但是我仍然很难为系统的某些部分确定好名字。

这是一个例子。

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

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

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

我可能应该只有一个“ ComputerRepository”,而其他类仅负责从各种来源进行数据访问。 由于它们需要通用的存储库功能,因此FindById / Add / Remove / Contains等被称为存储库。

这些班级有更好的名字吗?

我认为正确的答案取决于ComputerAssetDeploymentDirectory和其他类似的子实体是否是与Computer相同的全局可访问聚合。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM