Normal view MARC view ISBD view

Patterns, Principles, and Practices of Domain-Driven Design.

By: Millett, Scott.
Contributor(s): Tune, Nick.
Material type: TextTextSeries: eBooks on Demand.Publisher: Somerset : Wiley, 2015Description: 1 online resource (795 p.).ISBN: 9781118714652.Subject(s): Computer software -- DevelopmentGenre/Form: Electronic books.Additional physical formats: Print version:: Patterns, Principles, and Practices of Domain-Driven DesignDDC classification: 005.1 LOC classification: QA76.76.D47 -- .M555 2015ebOnline resources: Click here to view this ebook.
Contents:
Cover -- Title Page -- Copyright -- 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 Problems -- Using 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 DDD -- DDD 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 Questions -- Sketching -- 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 Problem -- Distilling 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?
Summary: 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 applications for complex domains. A focus is placed on the principles and practices of decomposing a complex problem space as well as the implementation patterns and best practices for shaping a maintainable solution space. You will learn how to build effective domain models through the use of tacti
Tags from this library: No tags from this library for this title. Log in to add tags.

Cover -- Title Page -- Copyright -- 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 Problems -- Using 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 DDD -- DDD 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 Questions -- Sketching -- 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 Problem -- Distilling 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?

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 applications for complex domains. A focus is placed on the principles and practices of decomposing a complex problem space as well as the implementation patterns and best practices for shaping a maintainable solution space. You will learn how to build effective domain models through the use of tacti

Description based upon print version of record.

Author notes provided by Syndetics

<p> Scott Millett is the Director of IT for Iglu.com, and has been working with .NET since version 1.0. He was awarded the ASP.NET MVP in 2010 and 2011, and is the author of Professional ASP.NET Design Patterns and Professional Enterprise .NET. </p> <p> Nick Tune is a software developer delivering solutions to complex business problems using technology, collaboration, and Domain-Driven Design. He continually seeks improvement by working on ambitious products and with enthusiastic people.</p>

There are no comments for this item.

Log in to your account to post a comment.