我正在尝试关注DDD,我有一个Question类和一个Feedback类(等等).我希望能够计算问题的数量,反馈的数量以及被认为是元操作的许多其他事情.
这样的"元"方法是否应该与属于该类的其他方法位于同一个存储库中,或者它们是否应该位于MetaRepository中,您在其中使用不同的元方法来查询数据库(在这种情况下,所有类将被混合)?
我一直在研究洋葱建筑学几天.我知道依赖关系应始终走向中心,以及如何使用依赖注入来实现这一目标.但我还有几个问题我仍然无法弄清楚.
模型(或实体)可以引用存储库接口或服务接口吗?
例如:Order实体具有DeliveryCity通过Oder.DeliveryZip属性建立的关系,该关系不是外键,而是唯一的.要获得拉链的城市,我必须打电话ICityRepository.FindByZip(zip)
我的模型中有以下代码
class Order
{
. . .
[Inject]
public ICityRepository CityRepository { get; set; }
private City _dCity;
public City DeliveryCity {
get {
if (_dCity == null)
_dCity = this.CityRepository.FindByZip(this.DeliveryZip);
return _dCity;
}
}
. . .
}
Run Code Online (Sandbox Code Playgroud)上述代码会出现什么问题?它应该使用域名服务吗?
域服务实现应该在核心内部还是在基础架构层中定义?
.net domain-driven-design ddd-repositories onion-architecture ddd-service