1. 程式人生 > >領域驅動設計之-前言

領域驅動設計之-前言

2004年Eric Evans 發表Domain-Driven Design –Tackling Complexity in the Heart of Software.領域驅動設計-軟體核心複雜性應對之道。通過標題很容易找到一些標籤: 領域,核心,複雜性

領域

領域,維基百科給出的解釋是:指某一專業或事物方面範圍的涵蓋。就像不同的國家使用不同的語言,有不同的氣候,不同的飲食習慣和宗教信仰。瞭解某個國家的這些“規則”可以幫助我們更好的融入它的生活。同樣軟體是為某一個行業或某一個範圍提供服務的。 深入相關的領域並瞭解業務規則,可以幫助我們設計更合適的軟體。

核心

企業的核心競爭點是這個企業能否生存和發展的關鍵。 如騰訊的微信重在社交,海底撈突出周到的客戶服務,小米為發燒而生。企業通過核心競爭力不斷的演進和發展達到成功,在我們明確領域範圍後,重點關注領域的核心部分,能很大程度決定軟體能否成功,也決定了軟體的生命週期。

複雜性

業務的複雜性會因為各種因素隨著時間的增長不斷的增加。軟體要滿足這些複雜性所需要的時間也會隨著複雜性的增加而增加。而一般的軟體開發更多的關注技術方面,通過技術來解決業務的複雜性,短期可能更快的交付,但是長久來看會逐步增大維護和改進的難度。

Domain-Driven Design的提出讓開發人員深入瞭解業務,設計隨著領域的變化而變化。畢竟軟體是業務實現的一種方式。