<aside> 📌 DSc. José Rui Castro de Sousa

Avatar3.png

Pessoal,

Hoje vamos abordar um assunto de extrema importância para todos vocês que estão iniciando sua jornada na graduação em Ciência da Computação: os princípios SOLID. Mais especificamente o D (princípio da inversão de dependência)

Esses princípios são fundamentais para a construção de software de qualidade e são amplamente utilizados na indústria de desenvolvimento. Compreender e aplicar esses conceitos não só irá impulsionar o seu conhecimento em programação, mas também tornará vocês desenvolvedores mais habilidosos e profissionais.

Então, vamos lá! O acrônimo SOLID é composto por cinco princípios que são:

  1. S - Princípio da Responsabilidade Única (Single Responsibility Principle): Este princípio nos ensina que uma classe deve ter apenas uma única responsabilidade. Ou seja, uma classe deve ter um único motivo para mudar. Isso promove a coesão e facilita a manutenção do código.
  2. O - Princípio do Aberto/Fechado (Open/Closed Principle): Esse princípio nos orienta a projetar classes e módulos que sejam abertos para extensão, mas fechados para modificação. Em outras palavras, devemos poder estender o comportamento de uma classe sem precisar modificar o código existente.
  3. L - Princípio da Substituição de Liskov (Liskov Substitution Principle): Esse princípio estabelece que as classes derivadas devem ser substituíveis por suas classes base sem afetar a corretude do programa. Isso significa que as classes derivadas devem ser coerentes com o comportamento esperado das classes base, garantindo assim a consistência do sistema.
  4. I - Princípio da Segregação de Interfaces (Interface Segregation Principle): Esse princípio nos orienta a criar interfaces coesas e específicas para cada cliente, evitando interfaces genéricas e sobrecarregadas. Dessa forma, as classes não devem ser forçadas a depender de métodos que não utilizam.
  5. D - Princípio da Inversão de Dependência (Dependency Inversion Principle): Esse princípio nos ensina a depender de abstrações e não de implementações concretas. Em outras palavras, devemos programar para interfaces e não para implementações, o que torna nosso código mais flexível e de fácil manutenção.

É essencial compreender esses princípios e aplicá-los em seus projetos de software. Eles fornecem diretrizes valiosas para escrever código limpo, modular e de fácil evolução.

Durante seus estudos, recomendo que assistam a videoaulas, realizem exercícios e pratiquem a implementação desses princípios em seus próprios projetos. Ao final, questionem-se:

Coloquem em prática o conhecimento adquirido e lembrem-se de que a jornada de aprendizado na programação é contínua. Com dedicação e persistência, vocês estarão um passo à frente na construção de software de qualidade.

Bons estudos!

</aside>

Parte 01

https://www.youtube.com/watch?v=a3tvszPtEvs

Parte 02

https://www.youtube.com/watch?v=Pq72-zb0KZE&list=PLqlIQgAFrQ164-r2ErHvYTlt7LNQ_j3Xx&index=33

Modelo SEM Dependency Inversion (DI)

Modelo com Dependecy Inversion (DI)

Código fonte - Git

IFCoder / Java / OO / ProjetoEscola Notificador SOLID · GitLab