Padrões de Projeto: Estruturais, Builder e Proxy
Classificado em Computação
Escrito em em
português com um tamanho de 2,36 KB
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.