Por que você deveria se preocupar se uma referência a objeto é uma interface ou uma classe?

Eu pareço frequentementediscussão de aplicar ou não algum tipo de convenção de prefixo / sufixo aos nomes dos tipos de interface, geralmente adicionando "I" ao início do nome.

Pessoalmente, estou no campo que defende nenhum prefixo, mas não é disso que se trata. Pelo contrário, trata-se de um dos argumentos que frequentemente ouço nessa discussão:

Você não pode mais ver rapidamente se algo é uma interface ou uma classe.

A pergunta que surge imediatamente na minha cabeça é: além da criação de objeto, por que você deveria se preocupar se uma referência a objeto é uma classe ou uma interface?

Eu marquei esta pergunta como independente de idioma, mas, como foi apontado, pode não ser. Eu afirmo que é porque, embora detalhes específicos de implementação de linguagem possam ser interessantes, eu gostaria de manter isso em um nível conceitual. Em outras palavras, eupensar que, conceitualmente, você nunca teria que se importar se uma referência a objeto é digitada como uma classe ou uma interface, mas eu não soucerto, daí a pergunta.

Esta não é uma discussão sobre IDEs e o que eles fazem ou não fazem ao visualizar os diferentes tipos; cuidar do tipo de um objeto é certamente uma necessidade ao navegar pelo código (pacotes / fontes / qualquer forma). Tampouco é uma discussão sobre os prós ou contras sobre qualquer convenção de nomenclatura. Eu simplesmente não consigo descobrir em que cenário, além da criação de objetos, você realmente se importa com o fato de estar ou não fazendo referência a um tipo ou interface concretos.

questionAnswers(9)

yourAnswerToTheQuestion