Strategic Domain-Driven Design in PHP by Example: How to Get Organized and Get Started
Strategic Domain-Driven Design in PHP by Example: How to Get Organized and Get Started
About the Book
Strategic Domain-Driven Design is about communication and collaboration. But once you have strategized, communicated, and collaborated, where do you put the code you write? That’s where this book fits.
I’m taking a “code first” approach and here’s why. There’s been a strong tendency for developers to jump straight to the “tactical” patterns of Domain-Driven Design because they’re concrete and relatively straightforward to implement. The abstract concepts such as “Bounded Context” are much less obvious.
Strategic Domain-Driven Design tells us that our code should fit inside one or more Bounded Contexts. But what is a Bounded Context, and where should we draw the boundary?
The answer is, “it depends on the situation”, which is not terribly helpful when we need to actually start implementing a feature. The problem, literally, is in figuring out where to start.
Here is where to start.
Table of Contents
-
-
Is This the Book for You?
- Mind Maps
- Code First
- Three-Part Strategy
- Carry On
-
Is This the Book for You?
-
Part I: Parallel Strategies
-
Chapter 1. Understand the Problem
- Essential Questions
- Get Organized and Get Started
- Gate Keeping
- The MVC Pattern
- Victims of Our Own Success
- Essential Questions Answered
- Summary
-
Chapter 2. Get Organized and Get Started
- Essential Questions
- Legacy Code Base
- Secret Feature
- Parallel Development Paths
- Project Repository
- IDE Helper
- Generate Models
- Model Access as Trait
- Legacy Setup
- Essential Questions Answered
- Summary
-
Chapter 3. Random and Rare Failures
- Essential Questions
- Random and Rare Failure
- Pollyanna Path
- History Trace or Event Trace
- Experimentation
- Domain Events
- Overkill
- Domain Event Tables
- Exception Report
- Event Counts
- Essential Questions Answered
- Summary
-
Chapter 4. Structure by Use Case
- Essential Questions
- Command-Line Tool
- Legacy Command-Line Tool
- Bounded Context Pattern
- Command Line
- Factory
- Repository
- Application Service
- Legacy Count Events
- Essential Questions Answered
- Summary
-
Chapter 5. Exploring Boundaries
- Essential questions
- New Bounded Context
- Independent Evolution
- The Dependency Inversion Principle
- Test Boundary
- Essential Questions Answered
- Summary
-
Chapter 6. Domain Event Walkthrough
- Essential Questions
- Domain Event Command
- Domain Event Factory
- Domain Event Repository
- Domain Event Service
- Domain Event Interface
- Legacy Domain Event Walkthrough
- Essential Questions Answered
- Summary
-
Chapter 7. Application Event Walkthrough
- Essential Questions
- Application Event Command
- Application Event Factory
- Default Application Event Repository
- Default Application Event
- Base Application Event
- Notify
- Originating Event Context
- Application Event Interface
- Legacy Application Event Walkthrough
- Essential Questions Answered
- Summary
-
Chapter 8. Transactional Boundary
- Essential Questions
- The Right Expertise
- Protective Boundaries
- The Crucial Concept
- Transactional Versus Eventual Consistency
- Manual Transaction
- What is an Aggregate?
- Essential Questions Answered
- Summary
-
Chapter 9. Exception Report
- Essential Questions
- Designing for Failure
- Test Harness
- The New Pattern
- The New Feature
- Record Exception
- Disable Application Event
- Legacy Exception Report
- Changed Habits
- Essential Questions Answered
- Summary
-
Chapter 1. Understand the Problem
-
Part II: Advantageous Boundaries
- Chapter 10. System Under Test
- Chapter 11. Orchestrating Aggregates
-
Part III: Tactics and Topics
- Chapter 12. Registration Workflow
- Chapter 13. A Pattern Emerges
- Chapter 14. Tests to the Rescue
- Chapter 15. Preparatory Refactoring
- Chapter 16. Abstract Cement, Concrete Path
- Revision History
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them