Padrões de Projeto Estruturais: Builder, Proxy e Wrapper
Resumo
O documento apresenta os Padrões Estruturais de projeto de software, que organizam classes e objetos e facilitam a comunicação entre entidades. São explicados os padrões Wrapper, Builder e Proxy, com seus participantes, consequências e tipos, incluindo o Proxy como padrão GoF.
Pontos-chave
- Padrões Estruturais organizam classes e objetos usando herança, agregação e composição.
- Wrapper envolve um objeto para modificar ou estender seu comportamento; em Java, ajuda a usar tipos primitivos em estruturas do Collections.
- Padrão Builder constrói objetos complexos passo a passo, com participantes Director, Builder, ConcreteBuilder e Product.
- Builder permite variar a representação interna do objeto e isola o código de construção da representação final.
- Padrão Proxy controla o acesso a um objeto por meio de um substituto com a mesma interface, com participantes Subject, RealSubject e Proxy.
- Os tipos de Proxy são Virtual, Remoto e Protetor; o Proxy também é conhecido como Surrogate.
Padrões Estruturais
Os Padrões Estruturais lidam com a organização de classes e objetos, facilitando a comunicação entre suas entidades e utilizando conceitos de Orientação a Objetos (OO) como herança, agregação e composição.
Wrappers
Um Wrapper envolve um objeto, adicionando uma fina camada que modifica ou estende seu comportamento. Problema: Em Java, não é possível adicionar tipos primitivos (int, char) diretamente nas estruturas de dados do pacote Collections, pois o framework exige objetos.
Padrão Builder
O padrão Builder é ideal para a criação de objetos complexos passo a passo, especialmente quando são necessárias diversas lógicas antes da instanciação ou diferentes representações do mesmo objeto.
- Director: Constrói um objeto utilizando a interface Builder.
- Builder: Especifica a interface para a construção do objeto.
- ConcreteBuilder: Implementação específica da interface Builder.
- Product: O objeto complexo resultante.
Consequências: Permite variar a representação interna, oferece controle sobre o processo de criação e isola o código de construção da representação final.
Padrão Proxy
O Padrão Proxy é utilizado para controlar o acesso a um objeto, fornecendo um substituto ou placeholder. Ele adiciona um nível de indireção para gerenciar acessos distribuídos, controlados ou inteligentes.
- Subject: Interface do objeto.
- RealSubject: Implementação do objeto real.
- Proxy: Encapsula o objeto real e controla seu acesso.
Tipos de Proxy: Virtual, Remoto e Protetor.
Consequências: Permite o controle de acesso sem alterar o objeto real, cria representações locais de objetos remotos e otimiza recursos evitando a criação desnecessária de objetos.
Proxy: Padrão de Projeto GoF
Também conhecido como Surrogate (Substituto), o Proxy encapsula um objeto através de outro com a mesma interface. Isso torna transparente a localização do objeto real, sendo essencial em cenários de Remote Proxy.
Baixar
PDF Word HTMLPerguntas frequentes
O que é o padrão Builder?
O padrão Builder é indicado para criar objetos complexos passo a passo, especialmente quando há várias lógicas antes da instanciação ou diferentes representações do mesmo objeto.
Quais são os tipos de Proxy?
O texto cita três tipos de Proxy: Virtual, Remoto e Protetor.
Por que um Wrapper é útil em Java?
Porque não é possível adicionar tipos primitivos, como int e char, diretamente nas estruturas do pacote Collections, que exigem objetos.
Teste-se
Cartões de revisão
Clique em um cartão para ver a resposta.
Teste
Perguntas geradas com IA a partir do documento: verifique as respostas com o texto.