Skip to content

Instantly share code, notes, and snippets.

@fmarga
Last active December 6, 2022 14:05
Show Gist options
  • Save fmarga/b1b351e9b5594324ac395a30874bf7b4 to your computer and use it in GitHub Desktop.
Save fmarga/b1b351e9b5594324ac395a30874bf7b4 to your computer and use it in GitHub Desktop.

SOLID

  • O que é? É uma junção de princípios e boas práticas utilizadas com a intenção de melhorar a arquitetura e o design de um projeto, que ajuda a facilitar a manutenção e a compreensão do código

O acrônimo surgiu após unir os 5 princípios da POO

  • S -> Single Responsibility Principle (responsabilidade única)

Este princípio fala que uma classe deve ter apenas um único objetivo, possuindo apenas uma função ou funções similares

  • O -> Open-Closed Principle (princípio aberto fechado)

Uma classe deve ser aberta para extensão e fechada para modificação - outras classes podem ter acesso a uma classe determinada mas não devem ser capazes de alterá-la

  • L -> Liskov Substitution Principle (princípio da substituição de Liskov)

É o princípio que traz a ideia de herança. "As classes derivadas devem ser substituíveis pelas classes bases"

  • I -> Interface Segregation Principle (princípio da segregação da interface)

Classes não devem ser forçadas a implementar métodos que não usam. Uma interface implementa somente os métodos que aquela classe utilizará, evitando a sobreposição de código

  • D -> Dependency Inversion Principle (princípio da inversão da dependência)

Os módulos que são classes de alto nível devem depender de conceitos, também chamadas de abstrações independente de como funcionam, ou seja, a função da inversão de dependência faz com que os softwares se desassociem dos módulos

Benefícios

  • Segurança
  • Manutenção
  • Reutilização
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment