Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Implementing Domain-Driven Design

Gebonden Engels 2013 9780321834577
Verkooppositie 2440
Verwachte levertijd ongeveer 7 werkdagen


'Implementing Domain-Driven Design' presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools. Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations.

Building on Eric Evans' seminal book, Domain-Driven Design, the author presents practical DDD techniques through examples from familiar domains. Each principle is backed up by realistic Java examples-all applicable to C# developers-and all content is tied together by a single case study: the delivery of a large-scale Scrum-based SaaS system for a multitenant environment.

The author takes you far beyond "DDD-lite" approaches that embrace DDD solely as a technical toolset, and shows you how to fully leverage DDD's "strategic design patterns" using Bounded Context, Context Maps, and the Ubiquitous Language. Using these techniques and examples, you can reduce time to market and improve quality, as you build software that is more flexible, more scalable, and more tightly aligned to business goals.

Coverage includes
- Getting started the right way with DDD, so you can rapidly gain value from it
- Using DDD within diverse architectures, including Hexagonal, SOA, REST, CQRS, Event-Driven, and Fabric/Grid-Based
- Appropriately designing and applying Entities-and learning when to use Value Objects instead
- Mastering DDD's powerful new Domain Events technique
- Designing Repositories for ORM, NoSQL, and other databases

"For software developers of all experience levels looking to improve their results, and design and implement domain-driven enterprise applications consistently with the best current state of professional practice, 'Implementing Domain-Driven Design' will impart a treasure trove of knowledge hard won within the DDD and enterprise application architecture communities over the last couple decades." - Randy Stafford, Architect At-Large, Oracle Coherence Product Development

"This book is a must-read for anybody looking to put DDD into practice." - Udi Dahan, Founder of NServiceBus


Aantal pagina's:612
Hoofdrubriek:IT-management / ICT


Wees de eerste die een lezersrecensie schrijft!

Geef uw waardering

Zeer goed Goed Voldoende Matig Slecht

Over Vaughn Vernon

Vaughn Vernon has more than twenty-five years of experience in system, application, and toolkit architecture, design, and development. His experience spans architecture, design, and construction of commercial off-the-shelf and custom component-based frameworks and business applications across a wide variety of industries–including but not limited to healthcare, aerospace, insurance, and telecommunications. Some of his early exposure to domain modeling, the foundation of domain-driven design, came in 1991 with the use of the Smalltalk programming language. He has continually practiced the tenets of domain modeling since then, and was naturally drawn to Eric Evans' work on DDD. He is an experienced speaker, having presented at 2010 conferences including QCon, UberConf, and IASA ITARC. He is the founder and principal consultant for ShiftMETHOD, a Colorado-based business solutions provider.

Andere boeken door Vaughn Vernon


About the Author
Guide to This Book

1. Getting Started with DDD
-Can I DDD?
-Why You Should Do DDD
-How to Do DDD
-The Business Value of Using DDD
-The Challenges of Applying DDD
-Fiction, with Bucketfuls of Reality

2. Domains, Subdomains, and Bounded Contexts
-Big Picture
-Why Strategic Design Is So Incredibly Essential
-Real-World Domains and Subdomains
-Making Sense of Bounded Contexts
-Sample Contexts

3. Context Maps
-Why Context Maps Are So Essential

4. Architecture
-Interviewing the Successful CIO
-Hexagonal or Ports and Adapters
-Representational State Transfer–REST
-Command-Query Responsibility Segregation, or CQRS
-Event-Driven Architecture
-Data Fabric and Grid-Based Distributed Computing

5. Entities
-Why We Use Entities
-Unique Identity
-Discovering Entities and Their Intrinsic Characteristics

6. Value Objects
-Value Characteristics
-Integrate with Minimalism
-Standard Types Expressed as Values
-Testing Value Objects
-Persisting Value Objects

7. Services
-What a Domain Service Is (but First, What It Is Not)
-Make Sure You Need a Service
-Modeling a Service in the Domain
-Testing Services

8. Domain Events
-The When and Why of Domain Events
-Modeling Events
-Publishing Events from the Domain Model
-Spreading the News to Remote Bounded Contexts
-Event Store
-Architectural Styles for Forwarding Stored Events

9. Modules
-Designing with Modules
-Basic Module Naming Conventions
-Module Naming Conventions for the Model
-Modules of the Agile Project Management Context
-Modules in Other Layers
-Module before Bounded Context

10. Aggregates
-Using Aggregates in the Scrum Core Domain
-Rule: Model True Invariants in Consistency Boundaries
-Rule: Design Small Aggregates
-Rule: Reference Other Aggregates by Identity
-Rule: Use Eventual Consistency Outside the Boundary
-Reasons to Break the Rules
-Gaining Insight through Discovery

11. Factories
-Factories in the Domain Model
-Factory Method on Aggregate Root
-Factory on Service

12. Repositories
-Collection-Oriented Repositories
-Persistence-Oriented Repositories
-Additional Behavior
-Managing Transactions
-Type Hierarchies
-Repository versus Data Access Object
-Testing Repositories

13. Integrating Bounded Contexts
-Integration Basics
-Integration Using RESTful Resources
-Integration Using Messaging

14. Application
-User Interface
-Application Services
-Composing Multiple Bounded Contexts
-Enterprise Component Containers

Appendix A: Aggregates and Event Sourcing: A+ES
-Inside an Application Service
-Command Handlers
-Lambda Syntax
-Concurrency Control
-Structural Freedom with A+ES
-Implementing an Event Store
-Relational Persistence
-BLOB Persistence
-Focused Aggregates
-Read Model Projections
-Use with Aggregate Design
-Events Enrichment
-Supporting Tools and Patterns
-Contract Generation
-Unit Testing and Specifications
-Event Sourcing in Functional Languages


Alle 100 bestsellers


Populaire producten



        Implementing Domain-Driven Design