
Testing a Singleton Dependency Through Storage Injection
Use a storage protocol and recording double to verify order values, reject invalid input before writes, and preserve storage failures without a database.
Read articleARCHIVE · 34
Follow the trail from foundational concepts to practical engineering decisions.

Use a storage protocol and recording double to verify order values, reject invalid input before writes, and preserve storage failures without a database.
Read article
We often create required objects right where they are needed in the code. But the moment you try to write tests, you hit a wall. The creation code is embedded inside the class, so you cannot swap it out.
Read article
Compare live variable capture, capture-list snapshots, and weak references, then store an escaping callback and execute it once after registration.
Read article
The Adapter pattern converts a legacy API's interface into a protocol expected by new code. This guide covers how to create a conversion boundary in Swift, simplify replacement and testing, and distinguish it from other wrapping patterns.
Read article
For developers using a Mac, the terminal is probably the app they keep open the longest each day. Yet surprisingly, many people keep using the default Terminal for years.
Read article