Domain-Driven Design - The Way to Deal with Software Core Complexity

Author: Evans
Publisher:
Publish Date: 2006-03-01
Features: "Every thoughtful software developer's bookshelf should have a copy of this book" — Kent Beck "Eric has collected design processes that experienced object designers have been using, which teams have failed to successfully complete the rest of the work in. People have fragmented knowledge but never organized the principles of building domain logic and made them systematic. This book is very important." — Kyle Brown, author of Enterprise Java Programming with IBM WebSphere. The topics covered in this book specifically include:
● Domain Isolation
● Entities, Value Objects, Services, and Modules
● The Lifecycle of a Domain Object
● Representing Processes as Domain Objects
● Creating Side Effect-Free Functions
● Overall Outline
● Independent Classes
● Extension Specifications
● Applying Analysis Patterns
● Linking Design Patterns to Models
● Maintaining Model Integrity
● Designing Domain Prospective Statements
● Selecting Refactoring Targets
● Responsibility Hierarchies
● Creating an Interchangeable Component Framework
● Combining Large-Scale Structures with Bounded Contexts
This book systematically introduces the Domain-Driven Design (DDD) methodology to readers. It presents numerous excellent design examples, experience-based techniques, and fundamental principles that promote software development for complex domains. By integrating design and development practices, the book provides numerous Java examples derived from real-world scenarios, demonstrating the practical application of Domain-Driven Design in software development. Through reading this book, readers will gain a comprehensive understanding of Domain-Driven Design, including the key principles, terminology, and inferences involved. The experiences and standard patterns introduced in this book will provide a common language for development teams. Additionally, the book covers how to refactor in domain models, how to integrate with agile development, how to gain a deeper understanding of the domain, and how to improve communication between domain experts and programmers. On this foundation, it also introduces Domain-Driven Design in complex systems and larger organizations.
The book consists of 17 chapters, including: Absorbing Knowledge, Communication and Language Usage, Binding Models and Implementation, Separating the Domain, Model Descriptions in Software, etc.

📌 Related Posts