【问题标题】:DDD - ConcurrencySafeEntity what is it being used forDDD - ConcurrencySafeEntity 它的用途是什么
【发布时间】:2015-10-01 12:32:34
【问题描述】:

在 Vaughn Vernon 的《实现领域驱动设计》一书中,他使用了一个名为 ConcurrencySafeEntity 的超类型,但找不到关于这个类的确切目的的具体解释,希望有这方面的任何解释

【问题讨论】:

    标签: entity domain-driven-design


    【解决方案1】:

    ConcurrencySafeEntity 类是一个Layer Supertype,它避免了实体的代码重复,这些实体需要实现optimistic locking 以防止并发问题。

    【讨论】:

    • 谢谢,能不能帮忙详细说明一下如何避免使用版本号成员的并发问题
    • 嗯,这不是你最初的问题,这在书中已经解释了很多。只需在互联网上搜索“丢失的更新问题”、“竞争条件”和“乐观并发”即可。
    • 所以在获得一些澄清之后,这是我的理解,为了确保聚合的跨国一致性,聚合带有版本号或时间戳,这样可以确保聚合不会被同时修改,而是设计不正确的聚合(例如单个聚合中的大型对象集群)可能会导致不希望的资源争用,从而导致糟糕的用户体验。
    • @SomasundaramSekar 没错!在 IDDD 书中,Vaughn 还为单个实体提供了乐观的并发版本,这意味着您可以在不影响根版本的情况下修改实体,但我不确定这是一个好习惯,因为我认为您不能这样做一个文档数据库。
    猜你喜欢
    • 2010-09-27
    • 2011-12-17
    • 2010-11-21
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多