最近一直在關注領域驅動設計的方法學問題,說實話,這些理論的東西實踐起來的確還是很困難,原因
是多方面的,第一:領域驅動設計要求開發設計人員與業務專家一起進行頭腦風暴,從而建立起領域模
型來,而這個過程是貫穿軟體開發的整個生命週期的,因為領域模型不是一開始就完全建立起來的,而
且開始的模型也可能會隨著專案的進行而不斷深化變換,這就要求業務專家必須和開發設計人員共同長
期的進行這項活動,因此這一點比較比較困難;第
二、領域驅動設計的方法是完全物件導向的思想方法
,與傳統的面向過程(也可以說是面向方法)的開發方法有比較大的差異,面向過程開發是將業務邏輯
都在方法裡面按照順序一二三的進行書寫,比較集中,領域設計要求將業務邏輯分散到領域模型中去,
降低維護時關注的複雜度。雖然目前很多人都使用物件導向的語言來進行開發,但是他們卻是拿著面向
物件的語言進行著面向過程的開發,這種開發方法要求開發人員有較好的物件導向設計開發的能力,對
經驗也有一定的要求,需要整個團隊的開發人員的技術有乙個較高的水平,估計在國內來看,絕大大多
數專案組還是做不到這個要求,因為很多專案中會安排新手來進行編碼工作,他們不太重視編碼這個環
節,認為是**民工做的事情,其實不然,這個環節與軟體最終出來的質量有相當大的關係。 第三:
該設計方法要求整個專案組都必須集中在同一領域模型的關注點上,必須對其進行精煉濃縮,必須保持
模型的高度一致,如果不然,出現了多套模型,那必然將專案失敗的可能性提高到了數個數量級。
因此啊,用與不用,還是有點難於決策啊,我的觀點是:過程與領域設計結合,各取所長,來個混血兒
未必不是乙個好辦法,專案簡單,大可採用過程的設計開發方法,如果稍微複雜,那麼則可進行提煉重
構採用領域模型來實現複雜的部分,簡單的部分仍然不用理會,呵呵,自家之言,有誤就斧正!
領域驅動設計,難
最近一直在關注領域驅動設計的方法學問題,說實話,這些理論的東西實踐起來的確還是很困難,原因 是多方面的,第一 領域驅動設計要求開發設計人員與業務專家一起進行頭腦風暴,從而建立起領域模 型來,而這個過程是貫穿軟體開發的整個生命週期的,因為領域模型不是一開始就完全建立起來的,而 且開始的模型也可能會隨著...
領域驅動設計系列(一) 為何要領域驅動設計?
領域驅動設計最近貌似開始火起來了,越來越多的人開始認識到領域設計的重要性,從我做過的專案來看,似乎歐洲已經有很多的公司開始實施領域驅動設計了,我看領域驅動設計也有些時間了,但是網上不管是文章還是 都顯得太過 高大上 一談領域驅動設計,一大堆的概念一股腦的給你上上來,搞的有點暈頭轉向,而我想在一些中小...
領域驅動設計之我見 領域業務
談到領域驅動設計 ddd 人們很容易想到如下這張圖,那麼是不是你的軟體做了如下的分層設計就是領域驅動設計的了?顯然不是,以下分層只能說明的軟體做了分層架構,領域驅動設計的核心在領域模型,領域模型的核心在業務知識。如果能夠採用物件導向思維將業務抽象為恰當的模型,不管用什麼架構都稱得上領域驅動設計。在大...