Junior
Que padrões de design conhece?
sobes.tech IA
Resposta da IA
-
Criacionais
- Método de fábrica (forma de criar objetos através de um método de fábrica, em vez de diretamente através do construtor)
- Fábrica abstrata (interface para criar famílias de objetos relacionados sem especificar suas classes concretas)
- Construtor (criação passo a passo de objetos complexos, permitindo obter diferentes variantes do objeto usando o mesmo código de construção)
- Protótipo (criação de novos objetos copiando um modelo existente)
- Singleton (garante que apenas uma instância da classe exista e fornece um ponto de acesso global a ela)
-
Estruturais
- Adaptador (permite que objetos com interfaces incompatíveis trabalhem juntos)
- Ponte (separa a abstração da implementação, permitindo que mudem de forma independente)
- Composto (permite tratar objetos individuais e grupos de objetos de forma uniforme)
- Decorador (adiciona responsabilidades adicionais a objetos de forma dinâmica)
- Fachada (fornece uma interface unificada a um conjunto de interfaces de um subsistema)
- Flyweight (gerencia eficientemente um grande número de objetos pequenos)
- Proxy (fornece um objeto substituto que controla o acesso a outro objeto)
-
Comportamentais
- Cadeia de responsabilidades (envia requisições ao longo de uma cadeia de manipuladores)
- Comando (encapsula uma requisição como um objeto, permitindo parametrizar clientes, enfileirar requisições, registrar e suportar desfazer)
- Iterador (fornece uma maneira de acessar sequencialmente os elementos de um objeto composto sem revelar sua estrutura interna)
- Mediador (simplifica a interação entre múltiplos objetos introduzindo um objeto mediador)
- Memento (permite salvar e restaurar o estado interno de um objeto sem violar sua encapsulação)
- Observador (define uma dependência um-para-muitos entre objetos, de modo que quando um muda, todos os dependentes são notificados e atualizados)
- Estado (permite que um objeto mude seu comportamento quando seu estado interno muda)
- Estratégia (define uma família de algoritmos, encapsula cada um e os torna intercambiáveis)
- Método template (define o esqueleto de um algoritmo em uma operação, deixando que as subclasses redefinam certos passos sem alterar a estrutura geral)
- Visitante (permite adicionar novas operações a uma hierarquia de classes sem modificar as classes)
No desenvolvimento Android, frequentemente utilizam-se padrões MVx (MVP, MVVM), bem como padrões da biblioteca Android Architecture Components (Room, ViewModel, LiveData, Navigation).