Architecture 领域驱动设计:聚合根&;亚集合体根

Architecture 领域驱动设计:聚合根&;亚集合体根,architecture,domain-driven-design,Architecture,Domain Driven Design,在我的项目中,我发现需要以分层方式分解聚合,使用顶层根级聚合,以确保根级规则的一致性,然后根下的对象可以细分为各种聚合。在计算根级聚合的完整性时,根验证自己的规则,然后委托给子聚合的根以确定子聚合是否有效 另外,为了实现乐观锁定,我发现如果我在不同的子聚合级别应用锁,我可以允许我的系统高度并发,而不是在聚合根级别设置锁 这是一种有效的ddd方法吗?我知道的不够多,无法“知道”,但对我来说这听起来不错——此外,谁“负责”确定这些事情?当涉及到流行语及其在给定实现中的应用时,这个行业充满了主观性 对

在我的项目中,我发现需要以分层方式分解聚合,使用顶层根级聚合,以确保根级规则的一致性,然后根下的对象可以细分为各种聚合。在计算根级聚合的完整性时,根验证自己的规则,然后委托给子聚合的根以确定子聚合是否有效

另外,为了实现乐观锁定,我发现如果我在不同的子聚合级别应用锁,我可以允许我的系统高度并发,而不是在聚合根级别设置锁

这是一种有效的ddd方法吗?

我知道的不够多,无法“知道”,但对我来说这听起来不错——此外,谁“负责”确定这些事情?当涉及到流行语及其在给定实现中的应用时,这个行业充满了主观性

对我来说,DDD最重要的核心原则是,您是否保持应用程序真实地符合业务人员的观点,并尽可能地遵循无处不在的语言。我无法从你的描述中看出这一点,但你应该能够做出足够好的判断

不要过于沉迷于“完美”,只是你正在尝试使用DDD这一事实是令人钦佩的,如果你尽你所能做到最好,那么鉴于你所拥有的关于DDD的知识,我不明白为什么这是一种无效的方法

显然,会有人不同意,但我不会对自己太苛刻。只要你能在一两个月内回顾一下这个实现,看看哪里可以做得更好,你可能就没事了。:)