PPP Payroll Case Study
This is a C# implementation of the Payroll Case Study from Uncle Bob's book Agile Software Development - Principles, Patterns, and Practices. It's based on the original book (not the C# one), though I'm interested how the two implementations compare.
- Section 3: All code and tests
- Chapter 22: Packaged by conceptual relation (Figure 22-1)
- Chapter 22: Packaged by Closed Hierarchy (Figure 22-2)
- Chapter 22: Packaged by REP (Figure 22-3)
- Chapter 22: Final packaging (Figure 22-11)
- Real database implementation
- Acceptance tests
- Web frontend
Several strategies for packaging the code are suggested in the book. I implemented those and tagged the commits. I also used NDepend to generate abstractness vs instability diagrams for each strategy.
Packaged by conceptual relation
This is from figure 22-1 on page 276. Source.
Packaged by common closure principle
This is from figure 22-2 on page 277. Source.
Packaged by REP
This is from figure 22-3 on page 280. Source.
Final packaging in book
This is from figure 22-11 on page 289. Source.