
Interfaces and Dependency Inversion
When redesigning an existing application, it is not uncommon to encounter the direct use of an external service in the code. The problem is that if we want to change the service, or if the service provider modifies its SDK or API, we have to rewrite a significant portion of the code.
See more →