Eu me deparei com o termo "programação para uma interface em vez de uma implementação" e acho que meio que entendo o que isso significa. Mas quero ter certeza de entender seus benefícios e possíveis implementações. "Programar para uma interface" significa que, quando possível, deve-se referir a um...