我认为我遗漏了一些非常明显的东西,但是在域对象及其通过存储库的持久性方面存在很多分歧,因此很难得到明确的答案。
假如说
我已经构建了一个纯域模型,它不依赖于我的解决方案中的任何其他程序集,因为 DDD 状态只有一个明确的根聚合。
我有一个特定于域的存储库,它保存由服务层调用的根聚合。
在内部,存储库使用 EF 将对象及其子对象持久化
如果避免暴露 getter(绝对不是 setter),那么我的存储库如何访问对象的状态以实际持久化它。
选项??
依赖注入到域模型中(DDD 味道??)
仅吸气剂(DDD 气味??)
还有一个相反的问题是从数据库中拉出对象。通过构造函数进行初始化似乎是唯一可能的候选者。