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
=========================================
留言
張貼留言