【发布时间】:2018-08-30 05:01:10
【问题描述】:
假设我们有单独的域模型和持久性模型,一个域模型存储为两个持久性模型,如下所示。
class DomainEntity {
property1;
property2;
}
class PersistenceEntity1 {
domainProperty1;
appProperty1;
}
class PersistenceEntity2 {
domainPproperty2;
appProperty2;
}
如果您看到模型,则持久性模型中有一些不属于域模型的额外应用程序属性,例如modifiedOn、modifiedBy 等...
现在我的问题是如何将这些值传递给基础设施层,因为存储库接口也属于域层,我们不能将这些属性添加到它的签名中。
【问题讨论】:
-
不要在一个实体中混合域和应用层属性,或者您可以考虑使用两个存储库。一种是查找域对象,另一种是作用于应用程序信息。但我建议不要将这些属性混合在一个实体中。
-
Repository also belongs to the Domain layer- 怎么回事?存储库接口:是,但存储库实现:否 -
@ConstantinGalbenu 这就是我的意思,界面。在实现中你不能有不同的签名,对吧?
-
你不能,但你不需要。这些附加属性可以隐藏在基础设施层中。
-
(我编辑了你的问题:
since the Repository interface also belongs to the Domain layer)