Home Page Icon
Home Page
Table of Contents for
EULA
Close
EULA
by Nick Tune, Scott Millett
Patterns, Principles, and Practices of Domain-Driven Design
Introduction
Overview of the Book and Technology
How This Book Is Organized
Who Should Read This Book
Source Code
Errata
p2p.wrox.com
Summary
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
How the Patterns of Domain-Driven Design Manage Complexity
The Practices and Principles of Domain-Driven Design
Popular Misconceptions of Domain-Driven Design
The Salient Points
Chapter 2: Distilling the Problem Domain
Knowledge Crunching and Collaboration
Gaining Domain Insight with Domain Experts
Patterns for Effective Knowledge Crunching
Look For Existing Models
The Salient Points
Chapter 3: Focusing on the Core Domain
Why Decompose a Problem Domain?
How to Capture the Essence of the Problem
How to Focus on the Core Problem
How Subdomains Shape a Solution
Not All Parts of a System Will Be Well Designed
What If You Have No Core Domain?
The Salient Points
Chapter 4: Model-Driven Design
What Is a Domain Model?
Model-Driven Design
Using a Ubiquitous Language to Bind the Analysis to the Code Model
Collaborating on a Ubiquitous Language
How to Create Effective Domain Models
When to Apply Model-Driven Design
The Salient Points
Chapter 5: Domain Model Implementation Patterns
The Domain Layer
Domain Model Implementation Patterns
The Salient Points
Chapter 6: Maintaining the Integrity of Domain Models with Bounded Contexts
The Challenges of a Single Model
Use Bounded Contexts to Divide and Conquer a Large Model
Implementing Bounded Contexts
The Salient Points
Chapter 7: Context Mapping
A Reality Map
Recognising the Relationships between Bounded Contexts
Communicating the Context Map
The Strategic Importance of Context Maps
The Salient Points
Chapter 8: Application Architecture
Application Architecture
Application Services
Application Clients
The Salient Points
Chapter 9: Common Problems for Teams Starting Out with Domain-Driven Design
Overemphasizing the Importance of Tactical Patterns
Missing the Real Value of DDD: Collaboration, Communication, and Context
Spending Too Much Time on What’s Not Important
Making Simple Problems Complex
Underestimating the Cost of Applying DDD
The Salient Points
Chapter 10: Applying the Principles, Practices, and Patterns of DDD
Selling DDD
Applying the Principles of DDD
Exploration and Experimentation
Making the Implicit Explicit
A Problem Solver First, A Technologist Second
How Do I Know That I Am Doing It Right?
The Salient Points
Part II: Strategic Patterns: Communicating Between Bounded Contexts
Chapter 11: Introduction to Bounded Context Integration
How to Integrate Bounded Contexts
Integrating Distributed Bounded Contexts
The Challenges of DDD with Distributed Systems
SOA and Reactive DDD
The Salient Points
Chapter 12: Integrating via Messaging
Messaging Fundamentals
Building an E-Commerce Application with NServiceBus
Maintaining a Messaging Application
Integrating a Bounded Context with Mass Transit
The Salient Points
Chapter 13: Integrating via HTTP with RPC and REST
Why Prefer HTTP?
RPC
REST
The Salient Points
Part III: Tactical Patterns: Creating Effective Domain Models
Chapter 14: Introducing the Domain Modeling Building Blocks
Tactical Patterns
Patterns to Model Your Domain
LifeCycle Patterns
Emerging Patterns
The Salient Points
Chapter 15: Value Objects
When to Use a Value Object
Defining Characteristics
Common Modeling Patterns
Persistence
The Salient Points
Chapter 16: Entities
Understanding Entities
Implementing Entities
Common Entity Modeling Principles and Patterns
The Salient Points
Chapter 17: Domain Services
Understanding Domain Services
Utilizing Domain Services
The Salient Points
Chapter 18: Domain Events
Essence of the Domain Events Pattern
Event Handling Actions
Domain Events’ Implementation Patterns
Testing Domain Events
The Salient Points
Chapter 19: Aggregates
Managing Complex Object Graphs
Aggregates
Defining Aggregate Boundaries
Implementing Aggregates
The Salient Points
Chapter 20: Factories
The Role of a Factory
The Salient Points
Chapter 21: Repositories
Repositories
A Misunderstood Pattern
Aggregate Persistence Strategies
A Repository Is an Explicit Contract
Transaction Management and Units of Work
To Save or Not To Save
The Repository as an Anticorruption Layer
Other Responsibilities of a Repository
Repository Antipatterns
Repository Implementations
The Salient Points
Chapter 22: Event Sourcing
The Limitations of Storing State as a Snapshot
Gaining Competitive Advantage by Storing State as a Stream of Events
Event-Sourced Aggregates
Building an Event Store
Using the Purpose-Built Event Store
CQRS with Event Sourcing
Recapping the Benefits of Event Sourcing
Weighing the Costs of Event Sourcing
Additional Learning Resources
The Salient Points
Part IV: Design Patterns for Effective Applications
Chapter 23: Architecting Application User Interfaces
Design Considerations
Example 1: An HTML API-Based, Server-Side UI for Nondistributed Bounded Contexts
Example 2: A Data API-Based, Client-Side UI for Distributed Bounded Contexts
The Salient Points
Chapter 24: CQRS: An Architecture of a Bounded Context
The Challenges of Maintaining a Single Model for Two Contexts
A Better Architecture for Complex Bounded Contexts
The Command Side: Business Tasks
The Query Side: Domain Reporting
The Misconceptions of CQRS
Patterns to Enable Your Application to Scale
The Salient Points
Chapter 25: Commands: Application Service Patterns for Processing Business Use Cases
Differentiating Application Logic and Domain Logic
Application Service Patterns
Testing Application Services
The Salient Points
Chapter 26: Queries: Domain Reporting
Domain Reporting Within a Bounded Context
Domain Reporting Across Bounded Contexts
The Salient Points
Title Page
Copyright
Dedication
About the Author
Credits
Acknowledgments
Advert
EULA
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Advert
WILEY END USER LICENSE AGREEMENT
Go to
www.wiley.com/go/eula
to access Wiley's ebook EULA.
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset