我经常读到,当团队无法访问域专家时,您不应该执行DDD.但是如果域名不是微不足道但没有域专家可用且团队只能访问代理域专家或仅访问产品所有者,那么DDD的替代方案是什么?
在这种情况下,团队是否应该在团队中创建共同语言,在有限上下文中创建域模型,使用聚合和聚合根来强制执行业务约束,使用存储库来确保模型的持久性无知等等?
我知道DDD不是一个整体或没有,它不是描述架构而是设计方法.但是,如果域名专家不可用,那么在复杂域名的情况下使用DDD的战术模式和战略设计是不是有意义呢?没有领域专家可用时,我不会使用哪部分DDD?
你真正需要做的是一个领域的专家作为一个角色,不一定作为一个具体的物理的人(不是一个或多个开发团队成员其他(S))。有一个“真正的”领域专家是可取的,但并非总是可能的。在这种情况下,开发团队必须积累专家领域的知识本身-我知道这不是完美的,而是完全有可能的(在实践中并不少见)。