DDD & 重構—— 寫在前面
阿新 • • 發佈:2017-09-08
tin 嘗試 lower mar 寫在前面 項目 領域驅動設計 main 效果
最近新接了一個業務系統——社區服務系統,為了快速熟悉和梳理老系統的業務邏輯和代碼,同時對老系統代碼做一些優化,於是打算花上一個月時間不間斷地對老系統服務進行重構。同時,考慮到社區業務的復雜性,想起了之前做用戶系統時嘗試過的領域驅動建模(簡稱DDD,英文全稱為:Domain Driven Design),思量之下,覺得DDD非常時候這種復雜業務邏輯的系統。毫不遲疑,開搞!
之前在做用戶系統時,也嘗試使用DDD進行業務建模,但迫於項目工期壓力,沒有進行深入的學習和建模,最後效果不是很理想,為了避免重蹈覆轍,於是決定先儲備好DDD相關知識,再邊實踐邊體會,為此重新學習了Eric Evans的《領域驅動幹設計-軟件核心復雜性應對之道》和Vaughn Vernon的《實現領域驅動設計》,前者重理論,後者重實現,兩者配合相得益彰。
由於是對舊系統的重構,因此,還學習了Martin Flower的神作《重構-改善即有代碼的設計》。
通過這些書籍的學習和實際編碼實踐,得到了很多有價值的東西,包括但不限於:加深對DDD的理解,業務建模的重新認識,OOP的重新認識,重構是一門讓完美主義者愛不釋手的技藝......
感於此,決定將整個過程中的讀書筆記、問題、解決方式、思考過程、心得記錄下來,以饗讀者,共勉之。
後面的一段時間,會不間斷地整理相關內容放上來,歡迎大家一起討論。
DDD & 重構—— 寫在前面