Padrões de Projeto Estruturais: Builder, Proxy e Wrapper

ComputaçãoAtualizado em 2,36 KB

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.

Teste-se

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 HTML

Perguntas 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

1. Qual padrão é indicado para criar objetos complexos passo a passo?
2. Qual participante do padrão Builder é responsável por construir um objeto usando a interface Builder?
3. Qual é a finalidade do padrão Proxy?
4. Qual dos seguintes NÃO é um tipo de Proxy citado no texto?
5. Qual é um dos benefícios do padrão Builder segundo o texto?
6. Como o Proxy também é conhecido segundo o texto?

Perguntas geradas com IA a partir do documento: verifique as respostas com o texto.