GoF Flashcards

1
Q

GoF

A

Gang of Four

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

Herança ou composição?

A

Favorecer composição sobre a herança

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

Interface ou implementação?

A

Programar para uma interface, não para uma implementação

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

O que são padrões de projeto?

A

Melhores práticas usadas por desenvolvedores experientes, obtidas por tentativa e erro durante um período substancial de tempo.

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

Criacionais: Frase

A

A fábrica abstrata construiu um protótipo único

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

Criacionais

A

Fabric
Abstract Fabric
Builder
Prototype
Singleton

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

Fábrica (Factory)

A

Criamos objetos sem expor a lógica de criação ao cliente e nos referimos ao objeto recém criado usando uma interface comum.
Define uma interface para criar um objeto, mas permite às classes decidir qual classe instanciar. (Fábrica de formas).

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

Construtor (Builder)

A

Cria um objeto complexo utilizando objetos simples e usando uma abordagem passo a passo. (Construtor de refeições, passo a passo).

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

Protótipo (Prototype)

A

Criação de objetos duplicados mantendo o desempenho em mente. Implementação de uma interface para criar um clone do objeto atual. Usado quando a criação do objeto é cara. (Banco de dados, cache para não ter que ir no bd)

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

Singleton

A

Uma única classe responsável por criar o objeto que assegura que somente um objeto será criado. (Construtor privado e public getInstance)

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

Estruturais: Frase

A

A ponte adaptada é composta de decorações na fachada para o peso mosca se aproximar

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

Estruturais

A

Ponte (Bridge)
Adaptador (Adapter)
Composição (Composite)
Decorador (Decorator)
Fachada (Facade)
Peso Mosca (Flyweight)
Proxy

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

Adaptador (Adapter)

A

Funciona como uma ponte entre duas interfaces incompatíveis. Combina capacidades de duas interfaces diferentes. Uma única classe fica responsável por unir as funcionalidades de interfaces incompatíveis e independentes. (chamada REST para chamada em SOAP por exemplo)

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

Decorador (Decorator)

A

Permite adicionar novas funcionalidades a objetos existentes sem alterar sua estrutura. Invólucro para uma classe existente. Cria uma classe decoradora que agrupa a classe original e adiciona métodos mantendo intacta a assinatura dos métodos existentes. (ClasseDecorator que adiciona setRedBorder)

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

Fachada (Facade)

A

Oculta as complexidades do sistema e fornece um interface simplificada ao cliente. Uma única classe fornece métodos simplificados exigidos pelo cliente e delega chamadas para classes de sistemas existentes. (Salvar não englobando os bancos de dados, arquivos, etc.)

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

Proxy

A

Uma classe representa a funcionalidade de outra classe. Cria-se um objeto que possui o objeto original para fazer interface de sua funcionalidade com o mundo exterior.

Controla o acesso ao objeto original.

17
Q

Facade Vs Proxy, qual é a diferença?

A

Facade fornece uma interface simplificada para várias outras interfaces.
Proxy lida com uma interface por vez e seu objetivo é proteger e não simplificar.

18
Q

Composição (Composite)

A

Tratar um grupo de objetos de maneira semelhante a um único objeto. Compõe objetos em uma estrutura de árvore para representar a hierarquia.

Cria uma classe que contém uma lista de seus próprios objetos. Essa classe fornece maneiras de modificar o grupo de objetos. (collections)

19
Q

Comportamentais

A

Iterador (Iterator)
Observador (Observer)
Comando (Command)
Estratégia (Strategy)
Visitante (Visitor)
Chain of Responsibility
Interpreter
Mediator
Memento
State
Template Method

20
Q

Iterador (Iterator)

A

É usado para obter acesso a um objeto em uma coleção de forma sequencial sem conhecer sua representação subjacente. (Forma de navegar .next(), .hasNext())

21
Q

Observador (Observer)

A

Há um relacionamento um-para-muitos e quando um objeto é alterado, seus objetos dependentes precisam ser notificados automaticamente.

Quando houver mudança de estado, os objetos dependentes são notificados, gerando uma dependência fraca.

Subject - Observers

22
Q

Comando (Command)

A

Padrão controlado por dados. Uma solicitação é agrupada sob um objeto comando e passada para o objeto invoker. O invoker procura o objeto apropriado e passa o comando para o objeto executá-lo.
O objeto comando não precisa saber como a operação é executada.

Serve para enfileirar ou registrar solicitações e implementar recursos de cancelamento de operações - Operações reversíveis. (broker - sell, buy)

23
Q

Estratégia (Strategy)

A

O comportamento da classe pode ser alterado em tempo de execução. (New object enviado no construtor do contexto).
Cria-se objetos que representam várias estratégias e um objeto de contexto cujo seu comportamento varia conforme seu objeto estratégia. O objeto estratégia altera o algoritmo de execução de contexto.
Define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis. . O método modelo fica na classe pai.
Encapsula algoritmos por herança.

24
Q

Strategy Vs Template, qual é a diferença?

A

Strategy encapsula algoritmos por herança e o Template por composição.

25
Q

Visitante (Visitor)

A

Uma classe de visitantes altera o algoritmo de execução de uma classe de elemento. O algoritmo de execução do elemento pode variar conforme o visitante variar. O objeto elemento deve aceitar o objeto visitante para que o visitante lide com a operação do objeto elemento.

26
Q

Builder Vs Factory

A

O Builder cria objetos complexos, por passo a passo, e o Factory não tem esse foco.