我正在重组我目前的项目,以便更好地与DDD最佳实践保持一致。
作为此设置的一部分,admin-task允许基于配置文件/算法组合(重新)引导某些域对象/聚合。我有一个很好的用例,它确实要求它成为一个实时系统的一部分,而不仅仅是测试(文本夹具)。
我正在努力如何在DDD环境中最好地模拟重构:
基本上:构建器/引导程序是否属于与域对象相同的有界上下文的基础结构服务?这感觉自然吗?我看到的流程是管理员使用特殊的管理应用程序服务访问这些功能,后者又调用构建器来完成他们的工作。
另一方面,这个管理功能感觉就像是系统的一个独立部分,所以也许我不应该用支持引导的方法来污染域对象(或它们的工厂)。 IOW:这可能意味着一个单独的Bounded Context,它有一个完全不同的(逻辑少)域模型,纯粹用于持久化到DB。然而,这对我来说感觉不太干,因为我可能最终定义模型两次(每个BC一次)
最好的方法是什么?