Skip to content
home about thoughts projects specs skills rss

Series

Design Before the Pattern Name

Concrete change pressures that make roles, valid construction, visible dependencies, and narrow collaboration necessary.

2020
  1. A Class Name Should Describe a Role 01/01
  2. Invalid State Should Be Difficult to Construct 01/02
  3. Boolean Parameters Hide Different Operations 01/03
  4. A Primitive Can Hide a Domain Decision 01/04
  5. A Service Class Can Become a Procedural Junk Drawer 01/05
  6. Dependencies Should Be Visible at Construction 01/06
  7. Framework Convenience Has a Boundary 01/07
  8. Global State Makes Local Reasoning Impossible 01/08
  9. Construction Should Not Hide Durable Writes 01/09
  10. A Method Should Tell You What Changed 01/10
  11. The Type a Caller Receives Defines the Role 01/11
  12. Design Becomes Valuable When the Next Change Arrives 01/12
2021
  1. A Design Principle Is a Compressed Failure History 01/01
© 2026 Brian Faust
· ·
·
Serein · Powered by Hugo