DDD

 https://stackoverflow.com/questions/52977040/bounded-context-in-food-delivery-use-case

https://zhuanlan.zhihu.com/p/31985410?fbclid=IwAR3Z6cZZtjkI-kLD_f8oJyonx3BlvqLBvu4_LCWn578oflQS_iicqJpSwKk

https://docs.microsoft.com/zh-tw/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/apply-simplified-microservice-cqrs-ddd-patterns

https://www.jdon.com/44604

https://zhuanlan.zhihu.com/p/40089542

https://medium.com/nick-tune-tech-strategy-blog/bounded-context-canvas-recipe-use-case-swimlanes-11ca647175d3

https://zhuanlan.zhihu.com/p/368736746

https://zhuanlan.zhihu.com/p/368098015

https://www.zhihu.com/topic/19826540/hot

https://developer.aliyun.com/article/59498

https://cloud.tencent.com/developer/article/1054076

https://cloud.tencent.com/developer/article/1054055?from=article.detail.1054076

https://cloud.tencent.com/developer/article/1161492?from=article.detail.1054076


1個系統 多個subdomain 

1個subdomain 1個bounded context

bounded context多個use case 多個modules

bounded context 視為可獨立運作,若需合作要使用context mapping。

基礎設施曾 往上 modules (实体,值对象,聚合(聚合根) 往上 领域服务,领域事件,仓储,工厂 往上application 往上 use case 或 controller


領域事件跨聚合

整合事件跨子系統或系統


聚合發出事件

一個系統有多個domain > 一個domain有多個bounded context = subdomain > subdomain 多個modules > modules 多個聚合 


系統 > 子域 > 上下文 > modules > 聚合

ApplicationService = use cases

 消息驗證

 錯誤處理

 監控

 Transaction

 認證與授權


 資料夾結構

controllers (interfaces) 調用Application

    - Acceptance

        - *Controller.php

modules

    + Acceptance (子域 bounded context)

        + Application ( use case  使用domain完成任務 不處理任何業務 對外開出功能 軟體部分處理 EventHandler)

           + Service (Domain Service交互)

           + Use Cases (代表一個動作 可以互相引用?)

           + Exceptions

           + Validation

           + Request

        + Domain (Domain不可以使用其他Domain 只有Service可以 Domain不知道資料庫 不可依賴所有外部資源)

            + Acceptance   (Domain)

                + Event (做動作 由聚合發起)

                + Value Object

                + DTO

                - AcceptanceRepository.php (一個代表一個聚合 用relationship做聚合 可能有多個聚合)

                - Acceptance.php

            + Service (不歸類在任何 Domain 的服務 所有跨 Domain 業務 無狀態 可依賴外部套件)

        + Infrastructure



跨層靠interface


=========================================



留言

這個網誌中的熱門文章

WINDOWS cmd 操作:查看進程、TCP連線、刪除TCP連線和進程

mongodb aggregate 筆記

mongodb shell 操作