Design patters Flashcards
Explique o que significam os acrônimos DRY, KISS e YAGNI
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.
Explique o design pattern Factory (Fábrica)
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.
Explique a arquitetura N-Layers (N-Camadas)
É 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.
Explique o padrão Fluente interface ou Fluente API
É 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.
Explique o padrão Builder
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.
Explique o padrão Facade
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.