While watching a keynote from 2011 entitled “Architecture the Lost Years” by Uncle Bob, it just clicked for me. What do you ask, interfaces.
I previously approached interfaces with the opinion that they are nothing more than an approach to increase code testability, reuse and for mocking external dependencies. Watching the keynote opened my eyes and suddenly something clicked in my brain which I’d never considered before; another major benefit is to actually allow architectural decisions to be deferred until the actual implementation is needed.
My light bulb moment for last week. Shamed by it, no. Simply #LearningToCode.