Strategic Domain-Driven Design in PHP by Example: How to Get Organized and Get Started
Minimum price
Suggested price

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.

  • Share this book

  • Categories

    • PHP
    • Software Architecture
    • Software Engineering
  • Feedback

    Email the Author(s)

About the Author

Ed Barnard
Ed Barnard

Edward Barnard has experienced two consecutive 20-year careers in software development. He soldered together his first computer from a handful of resistors, diodes, switches, and lights in 1968 at age 10. He taught himself FORTRAN IV two years later. High school brought BASIC. College introduced ALGOL, assembly language, and Pascal.

His first career was operating system development amongst the wizards of Cray Research. Ed's second 20-year career has been web software development for countless clients, companies, and projects. He enjoys sharing what he's learned along the way through magazine articles, books, and speaking at conferences. He and wife Susan get outdoors when they can to camp the Minnesota winter with no mosquitoes.

Table of Contents

    • Is This the Book for You?
      • Mind Maps
      • Code First
      • Three-Part Strategy
      • Carry On
  • 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
  • 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...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course 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

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub