Mapa mental
Tipos de Padrões

Mapa mental: tipos de padrões
Conteúdo do mapa
Tipos de Padrões
Padrões de Interfaces
- Padrão Adapter
- O padrão Adapter serve para converter a interface de uma classe em outra interface esperada pelos clientes. Permite que classes com interfaces incompatíveis trabalhem em conjunto. O padrão Adapter usa duas formas: Class Adapter, que utiliza herança múltipla, e Object Adapter, que utiliza composição.
- Padrão Façade
- Oferece uma interface única para um conjunto de interfaces de um subsistema. Esse define uma interface de nível mais elevado que torna o subsistema mais fácil de usar.
- Padrão Composite
- O padrão Composite compõe objetos em estruturas de árvore para representar hierarquias todo-parte. Ele permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme.
- Padrão Bridge
- O padrão Bridge desacopla uma abstração de sua implementação, de modo que as duas possam variar de forma independente.
- Padrão Adapter
Padrões de Responsabilidades
- Padrão Singleton
- O padrão Sigleton garante que uma classe só tenha uma única instância e provê um ponto de acesso global a ela, para toda classe que o implemente.
- Padrão Observer
- O padrão Observer define uma dependência um-para-muitos entre objetos, para que quando um deles mudar de estado, todos os seus dependentes sejam notificados e atualizados automaticamente.
- Padrão Mediator
- O padrão Mediator define um objeto que encapsula a maneira como um conjunto de objetos interagem. Ele promove acoplamento fraco, o que é desejável em um projeto orientado a objetos, como sabemos, ao manter objetos que não se referem um ao outro explicitamente, permitindo variar sua interação independentemente.
- Padrão Proxy
- O padrão Proxy provê um substituto ou ponto por meio do qual um objeto possa controlar o acesso a outro, ou seja, ele atua como um procurador de determinado objeto. É usado sempre que precisamos de uma referência a um objeto, que seja mais versátil ou sofisticada do que um simples ponteiro.
- Padrão Chain of Responsibility
- O padrão Chain of Responsability evita acoplar o remetente de uma requisição ao seu destinatário ao dar a mais de um objeto a chance de servir a requisição. Compõe os objetos em cascata e passa a requisição pela corrente até que um objeto a sirva. Em outras palavras, ele representa um encadeamento de objetos receptores para o processamento de uma série de solicitações diferentes. Esses objetos receptores passam a solicitação ao longo da cadeia até que um ou vários objetos a tratem.
- Padrão Flyweight
- O padrão Flyweight usa compartilhamento para suportar grandes quantidades de objetos refinados eficientemente.
- Padrão Singleton
Padrões de Construção
- Padrão Builder
- Você pode usar este padrão para separar a construção de um objeto complexo de sua representação para que o mesmo processo de construção possa criar representações diferentes.
- Padrão Factory Method
- Você pode usar este padrão para definir uma interface para criar um objeto, deixando que as subclasses decidam que classe instanciar. Ele permite que uma classe delegue a responsabilidade de instanciamento às subclasses.
- Padrão Abstract Factory
- Você pode usar este padrão para prover uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.
- Padrão Prototype
- Você pode usar este padrão para especificar os tipos de objetos a serem criados usando uma instância como protótipo e criar novos objetos ao copiar este protótipo.
- Padrão Memento
- Você pode usar este padrão para capturar e externalizar o estado interno de um objeto para que o objeto possa ter esse estado restaurado posteriormente, sem violar o encapsulamento.
- Padrão Builder
Padrões de Operações
- Padrão Template Method
- Você pode usar este padrão para definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses. Ele permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura.
- Padrão State
- Você pode usar este padrão quando você deseja dar permissão a um objeto para que ele possa alterar o seu comportamento quando o seu estado interno mudar. Isso dá a impressão de que o objeto mudou de classe.
- Padrão Strategy
- Você pode usar este padrão para definir uma família de algoritmos, encapsular cada um e torná-los intercambiáveis. Ele faz com que algoritmos mudem independentemente entre clientes que os utilizam.
- Padrão Command
- Você pode usar este padrão para encapsular uma requisição como um objeto, permitindo que clientes parametrizem diferentes requisições ou filas de requisições.
- Padrão Interpreter
- Você pode usar este padrão para definir, a partir de uma linguagem, uma representação para sua gramática, junto com um interpretador que usa a representação para interpretar sentenças na linguagem.
- Padrão Template Method
Padrões de Extensão
- Padrão Decorator
- Você pode usar este padrão para atribuir responsabilidades adicionais a um objeto dinamicamente. Ele oferece uma alternativa flexível ao uso de herança para estender uma funcionalidade.
- Padrão Iterator
- Você pode usar este padrão para prover uma maneira de acessar os elementos de um objeto agregado de forma sequencial, sem expor sua representação interna. Normalmente, o usamos em coleção de objetos.
- Padrão Visitor
- Você pode usar este padrão para representar uma operação a ser realizada sobre os elementos de uma estrutura de objetos. Ele permite definir uma nova operação sem mudar as classes dos elementos nos quais opera.
- Padrão Decorator
Value Object (VO)
- Usamos o padrão VO (Value Object) para realizar a troca de dados entre entidades de um sistema. Um objeto simples é responsável por manter os respectivos valores para realização de uma determinada regra de negócio da aplicação. Outro uso para este padrão é quando apenas os dados têm que ser transferidos para o cliente. VOs trabalham coletando os conjuntos de informações relacionadas em um único objeto, que pode ser transferido do DAO, apresentado em seguida para o cliente, com uma única chamada remota (MANHÃES, 2008).
Data Access Object (DAO)
- Usamos o padrão Data Access Object (DAO) para acesso a dados contidos em banco de dados. Ele fornece uma interface independente, a qual se usa para persistir objetos de dados. A ideia é implementar todas as funcionalidades encontradas no desenvolvimento de acesso e trabalha com dados em um só local, tornando simples a manutenção. Um DAO inclui métodos para inserir, selecionar, atualizar e excluir objetos de banco de dados (GONÇALVES, 2007). A vantagem da utilização do DAO é separar de forma inteligente o código de negócio do código de manipulação de banco de dados. Isto possibilita ter independência de banco de dados de tal forma que a mudança do mesmo não gera manutenção nas classes de negócio. Ou seja, o negócio não deve se preocupar com tecnologia de armazenamento de dados e detalhes técnicos (GOMES, 2008).
Informações
- Descrição
- superior Programação Avançada Mapa Mental sobre Tipos de Padrões, criado por mozoemoza em 20-09-2014.
- Criado por
- mozoemoza
- Visualizações
- 11
- Avaliação