title: What does "program to interfaces, not implementations" mean?
body: <p>One stumbles upon this phrase when reading about design patterns.</p>
  
  <p>But I don't understand it, could someone explain this for me?</p>