Design patters Flashcards

1
Q

Explique o que significam os acrônimos DRY, KISS e YAGNI

A

Esses acrônimos não são diretamente padrões mas sim convenções:

DRY: Significa don’t repeat yourself, evite escrever código duplicado e que faça a mesma coisa em mais de um lugar.

KISS: Keep It Stupid Simple, construa soluções simples e de fácil entendimento.

YAGNI: You Aren’t Gonna Need It, não adicione funcionalidade desnecessária no código.

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

Explique o design pattern Factory (Fábrica)

A

A factory é usada para abstrair a complexidade de criação de um objeto e de suas dependências.
Centralizado em apenas um lugar todas as dependências necessárias para criação de um objeto.

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

Explique a arquitetura N-Layers (N-Camadas)

A

É um arquitetura que visa dividir responsabilidades da arquitetura do sistema. Dividindo-se em acesso a dados, regras de negócio e exposição de instâncias:

Repository, Service/Business e Factory.

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

Explique o padrão Fluente interface ou Fluente API

A

É um padrão de chamada sequencial de métodos (method chaining) que visa garantir uma maior legibilidade do código e torna-lô mais expressivo. Isso é obtido através de cada chamada de método ser responsável por retornar a instância do objeto.

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

Explique o padrão Builder

A

O padrão builder é usado para criar objetos complexos de forma simples, simplesmente chamando os métodos de forma independente e no final chamando uma método que retorna o objeto construído com base nos métodos chamados. Apesar de ser parecido com o padrão fluente API é diferente pois os métodos podem ser chamados fora de uma ordem pré determinada.

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

Explique o padrão Facade

A

O facade abstrai a complexidade de uso de uma determinada API, simplificando a chamada dos métodos para que seja mais intuitivo o uso. Exemplo se pra usar uma determinada API como o padrão fluente API é necessário conhecer a ordem de chamada dos métodos pode-se utilizar um facada para simplificar o uso dessa API.

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