我想我错过了一些非常明显的东西,但是对于域对象和它们通过存储库的持久性存在很多分歧,因此很难得到明确的答案. 假如说 我已经构建了一个纯域模型,它对任何其他模型都没有依赖
假如说
>我已经构建了一个纯域模型,它对任何其他模型都没有依赖性
我的解决方案中的程序集作为DDD状态只有一个明确的根
骨料.
>我有一个特定于域的存储库,可以保留root用户
聚合,由服务层调用.
>在内部,存储库使用EF来持久保存对象
它的孩子
如果避免暴露getter(绝对不是setter),那么我的存储库如何访问对象的状态以实际持久化它.
选项?
>依赖注入域模型(DDD气味??)
>仅限吸气剂(DDD味道??)
还有一个相反的问题是将对象拉出数据库.通过构造函数初始化似乎是唯一可能的候选者.
ORM可以通过反射获取对象内的数据.例如, NHibernate has various access strategies表示允许映射类仅具有没有getter或setter的私有字段的属性.我认为EF应该有类似的设施.