1
resposta

DIP: abstração X implementação

Não entendi completamente a resposta desse exercício. A parte que fala que implementação deve depender de abstração e que "abstrações são estáveis".

Pelo que entendi, para manter a coesão devemos segregar as responsabilidades em classes distintas e, quando for possível, utilizar interfaces, por estas serem estáveis, ou seja, não mudarem com frequencia. Nesse casso, entendo que as interfaces, que exigirão a implementação de outras classes, é que são estáveis e não as abstrações.

1 resposta

Oi, Rozenildo!

Pelo que eu vi, você está pensando em interfaces como uma coisa e abstrações como outra, mas repare que interfaces, no geral, são as abstrações que nos referimos.

Você pode pensar no exemplo da List do Java. List é uma interface, uma abstração, que diz o que as suas implementações devem ter em comum.