Nullables Livestream #14: Reflective Design

In this weekly livestream series, I pair up with Ted M. Young, aka jitterted, to look at Nullables and A-Frame Architecture as an alternative to Mocks, Spies, and Hexagonal Architecture. Each episode combines a healthy dose of architecture and design discussion with hands-on coding.

Watch us live every Monday! For details, see the event page. For more episode recordings, see the episode archive.

Nullables Training


Learn how to apply these ideas to your own code! I’m offering live online training for this material on April 11th and 12th. Register here.

To be notified about upcoming “Testing Without Mocks” training courses, send an email with the subject “Subscribe” to or join the mailing list here (requires Google login).

For private training, contact me directly.

In this episode...

Our Nullable infrastructure is in place, so we’re ready to take a deeper dive into A-Frame Architecture. We start with Reflective Design: analyzing the existing design to see how it can be improved. We trace through the code from the controller to the domain logic, identifying possible improvements. Then we get ready to refactor by migrating the GameService to use our new GameDatabase abstraction. This turns out to be a tricky problem that’s rife with pitfalls.

Visit the episode archive for more.

If you liked this entry, check out my best writing and presentations, and consider subscribing to updates by email or RSS.