網頁

2022/10/21

領域驅動設計 Domain-Driven Design(DDD) 是在幹嘛?

簡單說就是「讓開發人員與領域專家合作(開很多會)以暸解領域知識並劃分領域界限並轉換為軟體架構及程式碼的手法。」


拜讀了iThome鐵人賽 - Think in Domain-Driven Design 系列對於DDD後的初步認知。

下面引述Domain-Driven Design Reference對於DDD的解釋:

Domain-Driven Design is an approach to the development of complex software 
in which we:
1. Focus on the core domain.
2. Explore models in a creative collaboration of domain practitioners 
and software practitioners.
3. Speak a ubiquitous language within an explicitly bounded context.
  

即DDD為專注核心業務領域(core domain),讓領域人員(domain practitioners)(使用者、領域專家)與開發人員(software practitioners)合作探索出領域模型(models)並在情境限界(bounded context)內以共通語言(ubiquitous language)溝通的軟體開發方法。

不過光是要常開會討論我想實際上在大多數公司應該很難執行,多半會跟敏捷開發一樣變成半調子做樣子的模式。然而對於近年流行的微服務(microservices)的粒度切分上感覺是個很好的搭配。


沒有留言:

張貼留言