領域驅動開發的優點

2021-08-23 13:19:14 字數 636 閱讀 6645

一直以來,j2ee的開發過程(以struts+hibernate+spring為例)都是這樣的:

1.設計資料庫

2.生成資料庫

3.從工程裡建立資料庫連線

4.把資料庫反向工程生成pojo

5.最後才能進行開發工作

如果需求發生了變更或者發現了資料庫的設計錯誤,那麼所有步驟都要再來一遍,工作繁瑣無比。

狀態圖如下:

由於netbeans提供了還不錯的uml功能,同時netbeans的jpa也很好用,幹嗎不把uml和jpa結合起來用呢?

由於jpa是使用註解方式來管理pojo的,而uml同步**時會自動跳過註解,因此只要通過uml生成pojo之後再為其加上jpa註解,就可以很方便的生成資料庫了。

根據這個思想,改進開發過程如下圖所示:

這樣一來具有如下優點

1.提高了工作效率

2.實現了領域驅動開發(domain drivern design)

3.由於使用了jpa,可以很容易的實現跨資料庫遷移

4.節省了設計資料庫的時間

5.專案結束後,手頭會有一組完善的領域驅動uml圖,可以很容易的據此生成設計文件。

領域驅動的開發

物件導向方法被認為是軟體技術方面的重要進步,特別是在對複雜現象建模方面比起前任更加容易。但是在可重性性,可維護性,可靠性,甚至表現性方面展沒有達到期望的進展。作為乙個可重用的單元來說,物件被證實太小了,而框架似乎又太大,以及他們的開發還停留在藝術階段。構件提供可重用性,但是其功能越多,則體積變得越大...

迭代開發的優點

b 它允許需求的變化 b 需求的變化和 進一步的蔓延 技術和客戶驅動的特性的累加 一直是專案中導致麻煩 延期交付 令客戶不滿意和使開發人員洩氣的主要原因。為了解決這些問題,使用迭代開發方法的團隊應該在專案開發的幾周裡就關注生成和演示可執行的軟體,這樣就強制了需求的檢查並可以幫助減少需求從而反映系統的...

領域驅動設計之我見 領域業務

談到領域驅動設計 ddd 人們很容易想到如下這張圖,那麼是不是你的軟體做了如下的分層設計就是領域驅動設計的了?顯然不是,以下分層只能說明的軟體做了分層架構,領域驅動設計的核心在領域模型,領域模型的核心在業務知識。如果能夠採用物件導向思維將業務抽象為恰當的模型,不管用什麼架構都稱得上領域驅動設計。在大...