14 Oct 2026
Every screen has a menu of things you can do to the record you're looking at. Packaging each one as an object is the Command pattern. The part most explanations skip is that you need a second object to say whether it should be there at all.
More …
09 Oct 2026
We have an API endpoint that takes a command and answers with a redirect, a notice or a warning. A page just wants the link to an order. The Adapter pattern is the small class in between, and the reason it exists isn't that anybody got the API wrong.
More …
04 Oct 2026
Every option in our menu declares its own permission rule. No category declares anything, and yet empty categories disappear on their own. That's the Composite pattern, and it's the reason nobody has to write the rule you'd expect to find.
More …
29 Sep 2026
Declaring a menu where every entry might be hidden by a permission, a config setting or a feature flag. A fluent builder, and the decision that matters more than the chaining: storing how to find out rather than what the answer was.
More …
24 Sep 2026
Two checks that every event handler had to do before it did anything, written out by hand in each one, until somebody wrote a handler and missed them. The Template Method pattern, and why it isn't the same as putting shared code in a base class.
More …