Ruehl

Patterns, Principles, and Practices of Domain-Driven Design by Millett, Scott

Description: INTRODUCTION xxxv PART I: THE PRINCIPLES AND PRACTICES OF DOMAIN-DRIVEN DESIGN CHAPTER 1: WHAT IS DOMAIN-DRIVEN DESIGN? 3 The Challenges of Creating Software for Complex Problem Domains 4 How the Patterns of Domain-Driven Design Manage Complexity 6 The Practices and Principles of Domain-Driven Design 11 Popular Misconceptions of Domain-Driven Design 12 The Salient Points 13 CHAPTER 2: DISTILLING THE PROBLEM DOMAIN 15 Knowledge Crunching and Collaboration 15 Gaining Domain Insight with Domain Experts 18 Patterns for Effective Knowledge Crunching 19 Look For Existing Models 24 The Salient Points 29 CHAPTER 3: FOCUSING ON THE CORE DOMAIN 31 Why Decompose a Problem Domain? 31 How to Capture the Essence of the Problem 32 How to Focus on the Core Problem 33 Treat Your Core Domain as a Product Rather than a Project 36 How Subdomains Shape a Solution 37 Not All Parts of a System will be Well Designed 37 What if You Have no Core Domain? 39 The Salient Points 40 CHAPTER 4: MODEL?]DRIVEN DESIGN 41 What Is a Domain Model? 42 Model-Driven Design 44 Using a Ubiquitous Language to Bind the Analysis to the Code Model 47 Collaborating on a Ubiquitous Language 48 How to Create Effective Domain Models 52 When to Apply Model?]Driven Design 56 The Salient Points 57 CHAPTER 5: DOMAIN MODEL IMPLEMENTATION PATTERNS 59 The Domain Layer 60 Domain Model Implementation Patterns 60 The Salient Points 71 CHAPTER 6: MAINTAINING THE INTEGRITY OF DOMAIN MODELS WITH BOUNDED CONTEXTS 73 The Challenges of a Single Model 74 Use Bounded Contexts to Divide and Conquer a Large Model 79 Implementing Bounded Contexts 85 The Salient Points 89 CHAPTER 7: CONTEXT MAPPING 91 A Reality Map 92 Recognising the Relationships between Bounded Contexts 95 Communicating the Context Map 100 The Strategic Importance of Context Maps 101 The Salient Points 103 CHAPTER 8: APPLICATION ARCHITECTURE 105 Application Architecture 105 Application Services 112 Application Clients 117 The Salient Points 120 CHAPTER 9: COMMON PROBLEMS FOR TEAMS STARTING OUT WITH DOMAIN?]DRIVEN DESIGN 121 Overemphasizing the Importance of Tactical Patterns 122 Missing the Real Value of DDD: Collaboration, Communication, and Context 124 Producing a Big Ball of Mud Due to Underestimating the Importance of Context 124 Causing Ambiguity and Misinterpretations by Failing to Create a UL 125 Designing Technical-Focused Solutions Due to a Lack of Collaboration 125 Spending Too Much Time on What's Not Important 126 Making Simple Problems Complex 126 Underestimating the Cost of Applying DDD 127 The Salient Points 130 CHAPTER 10: APPLYING THE PRINCIPLES, PRACTICES, AND PATTERNS OF DDD 131 Selling DDD 132 Applying the Principles of DDD 133 Exploration and Experimentation 142 Making the Implicit Explicit 143 A Problem Solver First, A Technologist Second 146 How Do I Know That I Am Doing It Right? 146 The Salient Points 147 PART II: STRATEGIC PATTERNS: COMMUNICATING BETWEEN BOUNDED CONTEXTS CHAPTER 11: INTRODUCTION TO BOUNDED CONTEXT INTEGRATION 151 How to Integrate Bounded Contexts 152 Integrating Distributed Bounded Contexts 161 The Challenges of DDD with Distributed Systems 165 SOA and Reactive DDD 174 The Salient Points 180 CHAPTER 12: INTEGRATING VIA MESSAGING 181 Messaging Fundamentals 182 Building an E-Commerce Application with NServiceBus 186 Maintaining a Messaging Application 227 Integrating a Bounded Context with Mass Transit 235 The Salient Points 243 CHAPTER 13: INTEGRATING VIA HTTP WITH RPC AND REST 245 Why Prefer HTTP? 247 RPC 248 REST 264 The Salient Points 305 PART III: TACTICAL PATTERNS: CREATING EFFECTIVE DOMAIN MODELS CHAPTER 14: INTRODUCING THE DOMAIN MODELING BUILDING BLOCKS 309 Tactical Patterns 310 Patterns to Model Your Domain 310 Lifecycle Patterns 318 Emerging Patterns 324 The Salient Points 327 CHAPTER 15: VALUE OBJECTS 329 When to Use a Value Object 330 Defining Characteristics 333 Common Modeling Patterns 345 Persistence 351 The Salient Points 359 CHAPTER 16: ENTITIES 361 Understanding Entities 362 Implementing Entities 363 Common Entity Modeling Principles and Patterns 380 The Salient Points 388 CHAPTER 17: DOMAIN SERVICES 389 Understanding Domain Services 390 Utilizing Domain Services 397 The Salient Points 403 CHAPTER 18: DOMAIN EVENTS 405 Essence of the Domain Events Pattern 406 Event Handling Actions 409 Domain Events' Implementation Patterns 410 Testing Domain Events 422 The Salient Points 425 CHAPTER 19: AGGREGATES 427 Managing Complex Object Graphs 428 Aggregates 434 Defining Aggregate Boundaries 442 Implementing Aggregates 450 The Salient Points 468 CHAPTER 20: FACTORIES 469 The Role of a Factory 469 The Salient Points 477 CHAPTER 21: REPOSITORIES 479 Repositories 479 A Misunderstood Pattern 481 Aggregate Persistence Strategies 486 A Repository Is an Explicit Contract 492 Transaction Management and Units of Work 493 To Save or Not To Save 497 The Repository as an Anticorruption Layer 499 Other Responsibilities of a Repository 500 Repository Antipatterns 506 Repository Implementations 508 The Salient Points 593 CHAPTER 22: EVENT SOURCING 595 The Limitations of Storing State as a Snapshot 596 Gaining Competitive Advantage by Storing State as a Stream of Events 597 Event-Sourced Aggregates 600 Building an Event Store 611 Using the Purpose-Built Event Store 627 CQRS with Event Sourcing 637 Recapping the Benefits of Event Sourcing 639 Weighing the Costs of Event Sourcing 640 Additional Learning Resources 641 The Salient Points 641 PART IV: DESIGN PATTERNS FOR EFFECTIVE APPLICATIONS CHAPTER 23: ARCHITECTING APPLICATION USER INTERFACES 645 Design Considerations 646 Example 1: An HTML API-Based, Server-Side UI for Nondistributed Bounded Contexts 651 Example 2: A Data API-Based, Client-Side UI for Distributed Bounded Contexts 658 The Salient Points 667 CHAPTER 24: CQRS: AN ARCHITECTURE OF A BOUNDED CONTEXT 669 The Challenges of Maintaining a Single Model for Two Contexts 670 A Better Architecture for Complex Bounded Contexts 670 The Command Side: Business Tasks 672 The Query Side: Domain Reporting 676 The Misconceptions of CQRS 679 Patterns to Enable Your Application to Scale 680 The Salient Points 685 CHAPTER 25: COMMANDS: APPLICATION SERVICE PATTERNS FOR PROCESSING BUSINESS USE CASES 687 Differentiating Application Logic and Domain Logic 689 Application Service Patterns 700 Testing Application Services 709 The Salient Points 712 CHAPTER 26: QUERIES: DOMAIN REPORTING 713 Domain Reporting within a Bounded Context 714 Domain Reporting Across Bounded Contexts 733 The Salient Points 736 INDEX 737

Price: 53.85 USD

Location: East Hanover, NJ

End Time: 2024-12-09T10:44:02.000Z

Shipping Cost: 0 USD

Product Images

Patterns, Principles, and Practices of Domain-Driven Design by Millett, ScottPatterns, Principles, and Practices of Domain-Driven Design by Millett, Scott

Item Specifics

Return shipping will be paid by: Buyer

All returns accepted: Returns Accepted

Item must be returned within: 60 Days

Refund will be given as: Money back or replacement (buyer's choice)

Return policy details:

EAN: 9781118714706

UPC: 9781118714706

ISBN: 9781118714706

MPN: N/A

Book Title: Patterns, Principles, and Practices of Domain-Driv

Number of Pages: 800 Pages

Publication Name: Patterns, Principles, and Practices of Domain-Driven Design

Language: English

Publisher: Wiley & Sons, Incorporated, John

Subject: Software Development & Engineering / General

Publication Year: 2015

Item Height: 1.6 in

Item Weight: 45.7 Oz

Type: Textbook

Subject Area: Computers

Item Length: 9.2 in

Author: Nick Tune, Scott Millett

Item Width: 7.4 in

Format: Trade Paperback

Recommended

Agile Software Development, Principles, Patterns, and Practices
Agile Software Development, Principles, Patterns, and Practices

$14.39

View Details
Agile Software Development, Principles, Patterns, and Practices
Agile Software Development, Principles, Patterns, and Practices

$18.95

View Details
Implementing Change : Patterns, Principles, and Potholes by Gene E. Hall and...
Implementing Change : Patterns, Principles, and Potholes by Gene E. Hall and...

$18.00

View Details
Chemistry: Principles, Patterns, and Applications - Hardcover - GOOD
Chemistry: Principles, Patterns, and Applications - Hardcover - GOOD

$6.44

View Details
Homiletics: Principles and Patterns of Reasoning (Paperback or Softback)
Homiletics: Principles and Patterns of Reasoning (Paperback or Softback)

$33.39

View Details
Implementing Change: Patterns, Principles- 9780137010271, Gene E Hall, paperback
Implementing Change: Patterns, Principles- 9780137010271, Gene E Hall, paperback

$5.97

View Details
Implementing Change: Patterns, Principles, and Potholes (4th Edition)
Implementing Change: Patterns, Principles, and Potholes (4th Edition)

$26.61

View Details
How Patterns Work: The Fundamental Principles of Pattern Making and Sewing i...
How Patterns Work: The Fundamental Principles of Pattern Making and Sewing i...

$15.94

View Details
Principles From Patterns, Algebra, Student Directed Textbook
Principles From Patterns, Algebra, Student Directed Textbook

$45.00

View Details
exwin louis cole treasure uncovering patterns & Principles That Create Prosperit
exwin louis cole treasure uncovering patterns & Principles That Create Prosperit

$5.70

View Details