AAAlexandre Alcuvillainswiftuicentral.com·Jun 29 · 8 min readThe Composition Root Pattern in SwiftUI AppsEvery article in this series has ended with the same instruction: wire everything at the Composition Root. We've used it as the place where RemoteFeedRepository meets CachingFeedRepository, where User00
AAAlexandre Alcuvillainswiftuicentral.com·Jun 29 · 7 min readSnapshot Testing in SwiftUI: Catching Visual Regressions AutomaticallyUnit tests verify logic. UI tests verify user flows. But neither catches the moment a refactor silently shifts a layout, changes a font, or breaks a dark mode style. Snapshot testing fills that gap. O00
AAAlexandre Alcuvillainswiftuicentral.com·Jun 29 · 7 min readDependency Inversion in SwiftUI: Programming to ProtocolsOf all the SOLID principles, the Dependency Inversion Principle (DIP) is the one that most directly enables testability and long-term flexibility. Yet it's also the most commonly misunderstood. DIP st00
AAAlexandre Alcuvillainswiftuicentral.com·Jun 22 · 8 min readTest-Driving a Cache Layer in SwiftUI In previous articles, we built a CachingFeedRepository by writing the implementation first and tests after. That works — but it leaves a subtle gap: the tests are shaped by the implementation you alre00
AAAlexandre Alcuvillainswiftuicentral.com·May 8 · 8 min readSingle Responsibility: Breaking Up Fat ViewModels in SwiftUIThe Single Responsibility Principle (SRP) states that a class should have one reason to change. It's the first letter of SOLID, and arguably the one most frequently violated in SwiftUI projects. The c00