S.O.L.I.D Flashcards

1
Q

O que é SOLID?

A

5 princípios que facilitam o processo de desenvolvimento, sendo principalmetne aplicados em POO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qual a importância do SOLID?

A

Promove a criação de um código limpo, flexível e de fácil manutenção

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quais os benefícios que o SOLID traz?

A

Reduz complexidade, aumenta reusabilidade, melhora a qualidade geral da aplicação

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é o S?

A

Responsabilidade Única
- uma classe deve ter apenas 1 motivo pra mudar
- ter apenas uma responsabilidade e faze-la muito bem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quando o princípio S não for aplicado, quais problemas podemos ter?

A

Dificuldade em manutenção, reutilização, alterações e número excessivo de dependencias

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quais benefícios temos aplicando o S?

A

Baixo acoplamento, código modulável e fácil de testar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Que tipo de analogia podemos fazer para entendermos o princípio S?

A

Em uam empresa temos diversos cargos, como CONTADOR, RH e DESENVOLVEDOR. Caso alguém tentasse fazer tudo, ficaria confuso e complicado de manter.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é o O?

A

Aberto-Fechado
- Classe deve estar fechada para modificação mas aberta para extensão
- Adicionar funcionalidade sem modificar o código existente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quais os benefícios do O?

A

Torna o código mais flexível e extensível

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quais formas de aplicar esse princípio?

A

Através de interfaces, classes abstratas ou Strategy Pattern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Que analogia podemos fazer para explicar o principio O?

A

Temos um celular, quando queremos adicionar uma nova funcionalidade (um app), podemos instalar o mesmo, sem precisar abrir o celular para modificar os componentes internos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que é o I?

A

Interface Segregation
- Uma classe não deve ser forçada a utilizar interfaces que não precisam
- Criar interfaces específicas aos invés de genéricas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quais os benefícios ao aplicarmos o I?

A

Implementacao de métodos relevantes e menos poluição no código

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que é o D?

A

Inversão de Dependência
- Depender de abstrações ao invés de implementações concretas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que define o princípio D?

A
  • Módulo de alto nível nao deve depender de módulo de baixo nível
  • Abstrações nao devem depender de detalhes, detalhes devem depender de abstrações
How well did you know this?
1
Not at all
2
3
4
5
Perfectly