1
resposta

Default Method vs Design Patters e SOLID

Olá, tudo bem?

Eu fique com a impressão que a inclusão do Default Method acaba descumprindo os conceitos de SOLID e Design Patterns (Strategy), será que estou enganado?

1 resposta

Olá Adriano, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Os métodos default foram introduzidos no Java 8 como uma forma de adicionar funcionalidade às interfaces sem quebrar a compatibilidade com as implementações existentes. Esses métodos permitem que você adicione métodos concretos em uma interface, fornecendo uma implementação padrão que é herdada por todas as classes que implementam essa interface.

A inclusão de métodos default em interfaces não necessariamente descumpre os princípios do SOLID ou os princípios dos Design Patterns. Na verdade, os métodos default podem ser úteis em certos casos, desde que sejam usados com cuidado.

Os métodos default adicionados na interface List, são projetados para fornecer funcionalidades básicas que são comumente usadas em coleções de listas. Eles não violam os princípios SOLID, uma vez que não estão adicionando responsabilidades adicionais à interface. Em vez disso, eles estão fornecendo implementações padrão para operações comuns, como iteração e classificação, que são esperadas em qualquer implementação de lista.

Em resumo, a inclusão de métodos default em interfaces não é intrinsecamente contra os princípios SOLID ou Design Patterns, desde que seja usado de maneira adequada e não comprometa a coesão e a clareza do design das interfaces e classes.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software