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