Domain-Driven Design
Tackling Complexity in the Heart of Software
Résumé
The software development community widely acknowledges that domain modeling is central to software design. Through domain modeling, software developers are able to express rich functionality and translate that functionality into software implementation that truly serves the needs of its users. Despite its obvious importance, however, there are few practical resources that show how to incorporate effective domain modeling into the software development process.
Domain-Driven Design fills that need. 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, Domain-Driven Design incorporates numerous examples in Java-case studies taken from actual projects that illustrate the application of domain-driven design to real-world software development.
Readers will find an overview of domain-driven design that highlights key principles, terms, and implications. The book presents a core of best practices and standard patterns that provide a common language for the development team. In addition, it highlights how refactoring in domain modeling, integrated with the frequent iterations of Agile development, leads to deeper insight into domains and enhanced communication between domain expert and programmer. Building on this foundation, the book then addresses domain-driven design for complex systems and larger organizations.
Specific topics covered include:
- Isolating the domain
- Entities, value objects, services, and modules
- The lifecycle of a domain object
- Representing processes as domain objects
- Creating functions free of side effects
- Conceptual contours
- Standalone classes
- Extending specifications
- Applying analysis patterns
- Relating design patterns to the model
- Maintaining model integrity
- Formulating the domain vision statement
- Choosing refactoring targets
- Responsibility layers
- Creating a pluggable component framework
- Bringing together large-scale structures and bounded contexts
With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to think deeply about domains, create rich and accurate domain models, and transform these models into high-quality, long-lasting software implementations.
Contents
- PUTTING THE DOMAIN MODEL TO WORK
- Crunching Knowledge
- Communication and the Use of Language
- Binding Model and Implementation
- THE BUILDING BLOCKS OF A MODEL-DRIVEN DESIGN
- Isolating the Domain
- A Model Expressed in Software
- The Life Cycle of a Domain Object
- Using the Language: An Extended Example
- REFACTORING TOWARD DEEPER INSIGHT
- Breakthrough
- Making Implicit Concepts Explicit
- Supple Design
- Applying Analysis Patterns
- Relating Design Patterns to the Model
- Refactoring Toward Deeper Insight
- STRATEGIC DESIGN
- Maintaining Model Integrity
- Distillation
- Large-Scale Structure
- Bringing the Strategy Together
- Conclusion
- Appendix: The Use of Patterns in This Book
- Glossary
L'auteur - Eric Evans
is an independent consultant specializing in object-oriented design and Extreme Programming. During his extensive career, he has worked on many projects developing large business systems. Eric has authored several articles on design patterns and has trained teams in Extreme Programming. His current focus is on leveraging a rich domain model to produce quality software.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Addison Wesley |
Auteur(s) | Eric Evans |
Parution | 18/09/2003 |
Nb. de pages | 530 |
Format | 18 x 24 |
Couverture | Relié |
Poids | 1240g |
Intérieur | Noir et Blanc |
EAN13 | 9780321125217 |
ISBN13 | 978-0-321-12521-7 |
Avantages Eyrolles.com
Nos clients ont également acheté
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse
- Informatique Développement d'applications Gestion de projets
- Informatique Développement d'applications Technologies objet Programmation objet
- Informatique Développement d'applications Langages Java - J2EE EJB
- Informatique Développement d'applications Langages Java - J2EE Design Patterns en Java
- Informatique Développement d'applications Modélisation et génie logiciel Tests et qualité logiciels
- Informatique Développement d'applications Modélisation et génie logiciel Design patterns