"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers-it is a future classic." -Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." -Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling-and building-business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." -Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." -Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." -Kyle Brown, author of Enterprise Java(TM) Programming with IBM(r) WebSphere(r) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis-refactoring not just the code but the model underlying the code-in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include: * Getting all team members to speak the same language * Connecting model and implementation more deeply * Sharpening key distinctions in a model * Managing the lifecycle of a domain object * Writing domain code that is safe to combine in elaborate ways * Making complex code obvious and predictable * Formulating a domain vision statement * Distilling the core of a complex domain * Digging out implicit concepts needed in the model * Applying analysis patterns * Relating design patterns to the model * Maintaining model integrity in a large system * Dealing with coexisting models on the same project * Organizing systems with large-scale structures * Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.
發表於2025-03-22
Domain-Driven Design 2025 pdf epub mobi 電子書 下載
在書中提到 value object 具有不變性和代數的計算封閉的性質。 在最近的幾個開發項目中,大量地使用瞭 value object 。當使用 c/c++ 來開發的時候,使用 value object 可以減輕內存管理的負擔。能帶來這種便利的正是因為 value object 具有不變性。value object 一經構造就不...
評分原版四星,中文版三星,知識有些陳舊、翻譯差、閱讀耗時、收益不成比率。 此書翻譯比較差,一般情況是不符閤中文的錶達習慣,很多句子要讀幾遍纔能明白,翻譯差點的段落連機器翻譯的質量都達不到。由於翻譯質量差,所以可能需要花雙倍以上的時間來閱讀這本書,很多時候都會糾結...
評分 評分剛開始是衝著這個書的副標題來的,軟件核心復雜性應對之道,主標題並沒有太在意。最後看瞭不到一半吧,零散著跳讀的。翻譯問題很大!!! 進書便開始和我說模型的事,又是分層又是畫圖,看瞭幾章發現,弄瞭半天不就是一個UML圖嗎。 這書給我感覺是一本教 不懂業務隻懂編程的程...
評分從當今角度看,很多概念都有瞭大發展,日常工作中接觸到的思想都不謀而閤,甚至已經遠遠超越瞭作者當年的思想。但是作為領域設計的開篇著作,仍然有很好的閱讀價值。 全篇最核心的概念是,人類的記憶力思考力限製,會將一個大型係統耦閤復雜化。為瞭更好的理解及團隊成員的閤作...
圖書標籤: DDD 領域驅動設計 軟件工程 軟件開發 計算機 方法論 design Programming
概念是有用而超前的,但很佩服這麼簡單一概念可以扯這麼長一本書
評分第三次重讀這本書. 寫代碼時很容易將實現細節與領域模型耦閤在一起.因為這是最不需要思考的作法. 但是耦閤在一起顯然是有問題的, 包括維護理解, 及後續對新需求和演進的支持. 作者給齣瞭一係列的方法和模式來分享給我們如何來保護領域模型的內聚與一緻性. 起碼讓我們寫齣耦閤代碼後知道瞭往哪個方嚮改變是好的. 另外微服務的齣現, DDD中的各種分BoundedContext, 分核心域和支撐域, 通用域以及分層思想, 按職責分層, 等大規模的組織方式. 給微服務的劃分提供瞭相通的思路.
評分概念是有用而超前的,但很佩服這麼簡單一概念可以扯這麼長一本書
評分有點囉嗦,讀瞭前兩章。不過內容還是很受益的。
評分確實沒看懂。。
Domain-Driven Design 2025 pdf epub mobi 電子書 下載