- Make your code rely on an interface/abstract class rather than a concrete class
- Get your program to rely on a behaviour rather than an implementation!
Often ties in with Dependency Injection, but is not the same thing!
Often ties in with Dependency Injection, but is not the same thing!