SOLID Flashcards
O que é SOLID?
É uma palavra acrônima dos 5 primeiros princípios da programação orientada a objetos e design de código.
Estes princípios facilitam no desenvolvimento de softwares, tornando-os fáceis de manter e estender.
Quem foi o responsável por identificar e quem foi responsável por introduzir os 5 princípios da POO e DC(SOLID) ?
Identificado: Robert C Martin (2000)
Introduzido: Michael Feathers. Após observar que os cinco princípios poderiam se encaixar nesta palavra.
Para que serve o solid?
Visam a construção de sistemas mais:
- flexíveis
- robustos
- fáceis de manter
Os princípios SOLID podem ser aplicados a qualquer linguagem de POO. Então responda:
Quais são os conceitos de POO?
- Abstração (classe e objetos)
- Encapsulamento,
- Herança
- Polimorfismo
O que significa o princípio S de SOLID?
SRP
Single Responsability Principle
(Princípio da responsabilidade única)
Uma classe deve ter 1, e somente 1, motivo para mudar.
O que significa o princípio O de SOLID?
OCP
Open Closet Principle
(princípio aberto- fechado)
Deve-se ser capaz de estender um comportamento de uma classe, sem modificá-lo.
O que significa o princípio L de SOLID?
LSP
Liskov Substitution Principle
(Princípio da substituição de Liskov)
As classes derivadas (subclasse) devem ser substituíveis por suas classes base. Por herança.
O que significa o princípio I de SOLID?
🔳 ➡️▪️▫️▪️▫️▪️▫️◾️▫️◽️▪️
ISP
Interface Segregation Principle
(Princípio da segregação da interface)
As interfaces devem ser refinadas
E sejam específicas ao cliente.
O que significa o princípio D de SOLID?
DIP
Dependency Inversion Principle
(Princípio da inversão da dependência.)
Deve-se depender de Abstrações (interface) Não de implementações.
SRP
Quais são os princípios da responsabilidade única ?
- Classe deve ter apenas uma única responsabilidade.
- Cada classe deve ter uma única tarefa ou funcionalidade.
- Tornar o código mais fácil de entender testar e manter.
OCP
O que é o princípio aberto-fechado?
- As entidades de software ( classes, módulos, etc.) devem estar abertas para extensão.
- Fechadas para modificação.
- Significa que as mudanças no comportamento de uma entidade devem ser realizadas por meio da adição de novas funcionalidades.
- Não pode alterar o código existente. Minimizando o impacto de mudanças no sistema.
LSP
O que quer dizer o princípio da substituição de Liskov?
- ” uma classe derivada deve ser substituível por sua classe base sem afetar a correto de programa.”
- Significa que as classes derivadas devem seguir as mesmas regras e possuir as mesmas propriedades das classes base.
- Garantir que o código que depende da classe base funcione corretamente quando uma classe derivada é utilizada.
ISP
Quais são os princípios da segregação de interfaces?
- as interfaces devem ser específicas e granulares, em vez de gerais e abrangentes.
- Significa que as classes não devem ser forçadas a implementar métodos que não são necessários para sua funcionalidade.
- Evitar a criação de interfaces pesadas e pouco flexíveis.
DIP
Qual é o princípio da inversão de dependência?
As dependências devem ser invertidas de modo que as classes do Alto Nível não dependam das classes de baixo nível,
mas sim de Abstrações que definam a interface entre elas.
Significa que as dependências devem ser gerenciadas por meio de interfaces,
Reduzindo o acoplamento entre as classes e tornando o código mais fácil de modificar e testar.