Sobes.tech
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).