
Se você está familiarizado com Programação Orientada a Objetos , provavelmente já ouviu falar sobre os princípios SOLID .
Esses cinco princípios de desenvolvimento de software são diretrizes a serem seguidas ao criar software para facilitar o dimensionamento e a manutenção. Eles se tornaram populares por um engenheiro de software, Robert C. Martin .
Existem tantos artigos excelentes on-line sobre o SOLID , mas raramente vejo exemplos com fotos. Isso torna um pouco difícil para alunos visuais como eu aprenderem enquanto permanecem engajados.
Portanto, o principal objetivo deste artigo é obter uma melhor compreensão desses princípios usando ilustrações e enfatizando o objetivo de cada princípio.
Veja bem, alguns desses princípios podem parecer semelhantes, mas não visam o mesmo objetivo . É possível satisfazer um princípio violando o outro, mesmo que sejam semelhantes.
Para simplificar o acompanhamento, usarei a palavra “classe” , mas observe que ela também pode se aplicar a uma função , método ou módulo neste artigo.
Atualização*Recebi alguns comentários sobre o Aberto Fechado neste artigo, violando o Princípio da Responsabilidade Única. Observe que o objetivo deste artigo é explicar cada um desses princípios independentemente dos outros.
Além disso, responsabilidades (ou funções) são diferentes de ações. No SRP, usei “I am Painter”, no Open-Closed, usei “I can Paint”.
É importante observar isso porque várias ações podem ser executadas para cumprir uma responsabilidade (ou papel). A classe deve ter uma responsabilidade (SRP), mas sua funcionalidade que cumpre essa responsabilidade deve ser aberta para estender (OCP).
Agora, vamos começar!

Se uma classe tiver muitas responsabilidades, aumenta a possibilidade de bugs, pois alterar uma de suas responsabilidades pode afetar as outras sem que você saiba.
Meta
Este princípio visa separar os comportamentos para que, se surgirem bugs como resultado de sua alteração, isso não afete outros comportamentos não relacionados.