Domain Driven Design (DDD) - The first sight
以領域知識為核心建立的模型,領域專家與開發人員可藉由此模型進行交流,來確保交付的東西是公同,來確保最終設計出來的東西是共同想要達到的結果。
分為4個Layer
- User Interface (用戶接口、表示層)
- Application Layer(定義軟體完成的任務、流程)
- Domain Layer(模型層,表達業務概念、狀態)
- Infrastructure Layer(基礎設施提供以上通用功能)
層與層關係由上而下互叫,可以跨層,但不回由下往上呼叫。
而Domain Layer中的模型有三種型態 1. entity, e.g: POJO with identifier 2. Value, e.g.: POJO without identifier 3. Service
Java 中的Spring框架通常分為三層 1. Controller 2. Service 3. DAO
對應到DDD分層,User interface對應Controller,Application與Domain 對應 Service,而 Application service 與 Domain Service, Infrastructure 對應DAO
留言
張貼留言