V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
miniliuke
V2EX  ›  问与答

对 ddd 的一点疑惑

  •  
  •   miniliuke · May 15, 2020 · 1860 views
    This topic created in 2175 days ago, the information mentioned may be changed or developed.

    有聚合根 User,里面有 Address 和 Password(不知道该设置为实体还是值)......我希望把 Password 和 Address 的修改分开来(即可以并发修改地址和密码互不冲突),UserRepository 无法做到细粒度的锁......所以应该是建 PasswordRepository 和 PasswordRepository 来去修改地址和密码?还是在 UserRepository 里面添加 saveXXX 方法,感觉这样就没那味了......

    6 replies    2020-05-16 11:48:55 +08:00
    miniliuke
        1
    miniliuke  
    OP
       May 15, 2020
    难道真的就该忘记设计模式?在 UserRepository 里面加一堆方法来实现不同实体互不干扰的修改......
    iffi
        2
    iffi  
       May 15, 2020
    你拆了干什么?就在聚合根里头做
    miniliuke
        3
    miniliuke  
    OP
       May 15, 2020
    @iffi 不是在聚合根里面改了以后持久化的时候,A 改了密码,B 改了地址,同时提交就会出现问题,A 一切正常,B 发现自己改的地址刷新一下又回去了.......又不可能说同时只允许一个人(修改密码或修改地址),所以必须密码和地址必须分开
    huijiewei
        4
    huijiewei  
       May 16, 2020 via iPhone
    dRepository 属于持久层方案了 和 DDD 无关
    miniliuke
        5
    miniliuke  
    OP
       May 16, 2020
    @huijiewei 但是和 DDD 有结合吧......现在这种局部更新或者局部查询的事情也什么好的解决方案么,也不可能说把 User 再去做拆分......
    huijiewei
        6
    huijiewei  
       May 16, 2020
    @miniliuke DDD 是 DDD,持久化是持久化,建议你先扔开持久化写 DDD 的领域代码先。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   932 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 21:19 · PVG 05:19 · LAX 14:19 · JFK 17:19
    ♥ Do have faith in what you're doing.