我最近在尝试 Abp 框架,很高兴地发现它是 DDD 的一个很好的实现。但由于它使用 AutoMapper 将 DTO 转换为实体/聚合,我注意到它能够使我的私有聚合设置器短路,这显然违反了 DDD 的主要规则。虽然 AutoMapper 的目标是减少手动操作,但 DDD 通过私有 setter 强调不变量。
怎样才能把这两个看似矛盾的概念搞清楚,并顺利使用这个框架呢?这是否意味着我必须放弃 AutoMapper 以保持 DDD 原则,反之亦然?
我相信 AutoMapper 不是 DDD 的反模式,因为它在社区中非常流行。换句话说,如果 AutoMapper 可以使用反射(据我所知)来设置私有设置器,那么其他任何人都可以。这是否意味着私人二传手本质上是不安全的?
感谢任何人可以帮助我或给我一个提示。