Princípios SOLID Desmistificados — Introdução
Construir um software complexo é estimulante e desafiador, mas é ainda mais desafiador e deprimente manter e atualizar um software mal escrito.
A metodologia na qual escrevemos códigos excelentes e bem estruturados é seguindo e aderindo a um conjunto de princípios chamados Princípios SOLID .
Os princípios SOLID foram introduzidos pela primeira vez pelo cientista da computação Robert C. Martin em seu artigo publicado em 2000.
Vejamos o acrônimo SOLID:
(S) princípio de responsabilidade única ←
Uma classe deve ser responsável apenas por um único propósito, o que significa que uma classe deve ter apenas um tipo de trabalho a ser executado, como (lógica de banco de dados, lógica de registro e assim por diante).
Princípio (O)aberto/Fechado ←
Uma classe deve ser aberta para extensão e fechada para modificação, o que significa que uma classe existente deve ser extensível sem precisar ser reescrita para implementar uma nova funcionalidade.
(L) Princípio de Substituição de iskov ←
As classes pai devem ser substituíveis por suas classes filhas com facilidade, ou seja, se a classe Rectangle for um subtipo da classe Shape, devemos ser capazes de substituir Shape por Rectangle sem interromper o fluxo funcional.
(I) Princípio de Segregação da Interface ←
As interfaces não devem forçar as classes a implementar funcionalidades que não suportam, o que significa que interfaces maiores devem ser divididas em menores para oferecer suporte.
(D) Princípio de Inversão de dependência ←
As classes devem depender da abstração, mas não da concreção, o que significa que os módulos de alto nível não devem depender dos módulos de baixo nível. Ambos devem depender da abstração.





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)