第1章 DDD入門
設計不只是感觀,設計就是產品的工作方式。
——Steve Jobs
我們都致力于開發高質量的軟件。通過測試,我們可以消除軟件系統中大量的bug。然而,即便我們的軟件中沒有bug,也不能表示我們設計的軟件模型本身就是好的。軟件中存在少量的瑕疵是無可厚非的,而同時,我們是可以設計出能夠準確表達業務意圖的軟件模型的。
領域驅動設計(DDD)作為一種軟件開發方法,它可以幫助我們設計高質量的軟件模型。在正確實現的情況下,我們通過DDD完成的設計恰恰就是軟件的工作方式。本書便是幫助你如何正確實現DDD的。
你可能是個DDD新手;也可能做過一些DDD嘗試而目前正苦苦地掙扎著;還有可能你已經成功地運用了DDD。不管如何,你都希望通過本書來提高自己的DDD技能,我相信你是可以的。以下是本章的學習路線圖:
本章學習路線圖
? 了解DDD可以為你的項目和團隊帶來哪些好處
? 如何確定你的項目是否適合采用DDD
? 了解DDD的常見替代方案和它們將導致問題的原因
? 學習DDD的基礎
? 學習如何向你的管理層、領域專家和技術成員推銷DDD
? 了解使用DDD時所面臨的挑戰
? 看看一個正在學習采用DDD的團隊是如何工作的
那么,你應該期待從DDD中得到什么呢?首先,DDD不應該是一個儀式性的過程,更不應該成為你項目進度的阻礙。此時你可以采用敏捷開發方法,或者尋找另外的方法來幫你更深層次地了解自己的業務領域。我們的目標應該是創造一個可測試的、可伸縮的、組織良好的軟件模型。
DDD同時提供了戰略上的和戰術(Tactical)上的建模工具來幫助我們設計高質量的軟件模型。.
推薦閱讀
- 同步:秩序如何從混沌中涌現
- Google Visualization API Essentials
- Visual Studio 2015 Cookbook(Second Edition)
- 云計算服務保障體系
- 數據驅動設計:A/B測試提升用戶體驗
- 數據科學工程實踐:用戶行為分析與建模、A/B實驗、SQLFlow
- 企業級容器云架構開發指南
- IPython Interactive Computing and Visualization Cookbook(Second Edition)
- HikariCP連接池實戰
- 計算機組裝與維護(微課版)
- 數字IC設計入門(微課視頻版)
- Mastering ROS for Robotics Programming(Second Edition)
- 大數據分析:R基礎及應用
- Hands-On Deep Learning for Games
- Arquillian Testing Guide