Patterns, principles, and practices of domain-driven design
Methods for managing complex software construction following the practices, principles and patterns of Domain-Driven Design with code examples in C# This book presents the philosophy of Domain-Driven Design (DDD) in a down-to-earth and practical manner for experienced developers building applicati...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Indianapolis, Indiana :
Wrox
2015.
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628938806719 |
Tabla de Contenidos:
- Patterns, Principles, and Practices of Domain-Driven Design; ABOUT THE AUTHOR; CREDITS; ACKNOWLEDGMENTS; CONTENTS; INTRODUCTION; PART I: THE PRINCIPLES AND PRACTICES OF DOMAIN-DRIVEN DESIGN; CHAPTER 1: WHAT IS DOMAIN-DRIVEN DESIGN?; The Challenges of Creating Software for Complex Problem Domains; Code Created Without a Common Language; A Lack of Organization; The Ball of Mud Pattern Stifles Development; A Lack of Focus on the Problem Domain; How the Patterns of Domain-Driven Design Manage Complexity; The Strategic Patterns of DDD; Distilling the Problem Domain to Reveal What Is Important
- Creating a Model to Solve Domain ProblemsUsing a Shared Language to Enable Modeling Collaboration; Isolate Models from Ambiguity and Corruption; Understanding the Relationships between Contexts; The Tactical Patterns of DDD; The Problem Space and the Solution Space; The Practices and Principles of Domain-Driven Design; Focusing on the Core Domain; Learning through Collaboration; Creating Models through Exploration and Experimentation; Communication; Understanding the Applicability of a Model; Constantly Evolving the Model; Popular Misconceptions of Domain-Driven Design
- Tactical Patterns Are Key to DDDDDD Is a Framework; DDD Is a Silver Bullet; The Salient Points; CHAPTER 2: DISTILLING THE PROBLEM DOMAIN; Knowledge Crunching and Collaboration; Reaching a Shared Understanding through a Shared Language; The Importance of Domain Knowledge; The Role of Business Analysts; An Ongoing Process; Gaining Domain Insight with Domain Experts; Domain Experts vs Stakeholders; Deeper Understanding for the Business; Engaging with Your Domain Experts; Patterns for Effective Knowledge Crunching; Focus on the Most Interesting Conversations; Start from the Use Cases
- Ask Powerful QuestionsSketching; Class Responsibility Collaboration Cards; Defer the Naming of Concepts in Your Model; Behavior-Driven Development; Rapid Prototyping; Look at Paper-Based Systems; Look For Existing Models; Understanding Intent; Event Storming; Impact Mapping; Understanding the Business Model; Deliberate Discovery; Model Exploration Whirlpool; The Salient Points; CHAPTER 3: FOCUSING ON THE CORE DOMAIN; Why Decompose a Problem Domain?; How to Capture the Essence of the Problem; Look Beyond Requirements; Capture the Domain Vision for a Shared Understanding of What Is Core
- How to Focus on the Core ProblemDistilling a Problem Domain; Core Domains; Treat Your Core Domain as a Product Rather than a Project; Generic Domains; Supporting Domains; How Subdomains Shape a Solution; Not All Parts of a System will be Well Designed; Focus on Clean Boundaries over Perfect Models; The Core Domain Doesn't Always Have to Be Perfect the First Time; Build Subdomains for Replacement Rather than Reuse; What if You Have no Core Domain?; The Salient Points; CHAPTER 4: MODEL-DRIVEN DESIGN; What Is a Domain Model?; The Domain versus the Domain Model; The Analysis Model; The Code Model
- The Code Model Is the Primary Expression of the Domain Model