Se você precisa somente iterar sobre uma coleção de um tipo de objeto...
Faça seuMetodoReceber(Collection colecao); e não uma List ou Set... (ou ainda uma Iterable)
Se você vai trabalhar num nível muito baixo com Stream...
Faça seuMetodoReceber(InputStream is); e não um FileInputStream...
Essa lista segue sem fim...
Faça seuMetodoReceber(Collection
Se você vai trabalhar num nível muito baixo com Stream...
Faça seuMetodoReceber(InputStream is); e não um FileInputStream...
Essa lista segue sem fim...
Porque sempre usar a interface mais genérica possível?
Você pode simplesmente mudar sua coleção que retornava uma List pra retortar uma TreeSet. Mudar o comportamento esperado, mudar o Stream para outro tipo e outras coisas que são comuns, sem sofrer tanto. Se você nunca enfrentou o inferno das manutenções não entenderá completamente a dor.
Se você está pensando em criar uma biblioteca então essa consideração deve ser ter atenção redobrada.
Opte sempre pelo mais GENÉRICO possível.
Nenhum comentário:
Postar um comentário