GoConqr has a new look! Let us know what you think.

Mind map

Tipos de Padrões

mozoemoza Programação Avançada superior Portuguese

Mapa mental sobre tipos de padrões: padrões de interfaces, responsabilidades, construção e operações

Mapa mental: tipos de padrões

Map content

Tipos de Padrões

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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).
  7. 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).

Information

Description
superior Programação Avançada Mind Map on Tipos de Padrões, created by mozoemoza on 20/09/2014.
Created by
mozoemoza
Views
11
Rating

More on Padrões de projeto

Feedback

What is it about?

What do you think of the new look?

How do you like it?