Learning a Pathway to Evolutionary Architecture
NOTE: While IDE choice should not matter, these instructions have only been tested in IntelliJ IDEA.
-
Ensure your workstation has a proper Java 11 installation.
-
You will need to make sure your IDE is properly configured for Lombok. At the following links, you can find instructions for Eclipse and IntelliJ IDEA.
-
Import
pom.xml
as a Maven project into your IDE. -
Run
com.mattstine.dddworkshop.pizzashop.suites.SetupSuite
to demonstrate that all the implemented tests are passing. -
Find
com.mattstine.lab.setup.HelloWorldTest
. This test should currently be failing. -
Make it pass!
-
You've now demonstrated the basic flow of the labs, which is to make each of the failing tests for a given lab pass.
-
Assuming you've gotten this far, you're ready to start Lab 1!
- Lab 1 - TDD Aggregate Root - Create Kitchen Commands with Business Logic and Invariants
- Lab 2 - TDD Aggregate Root - Create and Publish Kitchen Domain Events
- Lab 3 - TDD Aggregate Repository - Create Kitchen Repositories and Add Domain Events
- Lab 4 - TDD Aggregate Repository - Rehydrate Kitchen Aggregates by Reference
- Lab 5 - TDD Policy - Subscribe to a Kitchen Domain Event from within an Aggregate and Create CQRS View
- Lab 6 - TDD Application Service - Expose Kitchen Business Interface and Implement Transactions
- Lab 7 - TDD Policy - Subscribe to a Kitchen Domain Event from an Adjacent Aggregate and Update State