Design Patterns

Março 2017

Design Patterns

O Design Patterns (em português, Modelos de concepção ou Motivos de concepção) é um conjunto de boas práticas de concepção para diversos problemas recorrentes em programação orientada para objetos.

O conceito de Design Patterns é o resultado do trabalho de 4 pessoas (Erich Gama, Richard Helm, Ralph Johnson, e John Vlissides, conhecidos como a "Gangue dos Quatro") na obra "Design Patterns: Elements of Reusable Object-Oriented Software", editado em 1995 com 23 modelos de concepção.

Um modelo de concepção pode ser visto como um documento que formaliza a estrutura de uma classe para responder a uma situação específica. Os modelos de concepção são classificados em três grandes famílias:
Motivos de criação:Motif Abstract Factory, Motif Builder, Motif Factory Method, Motif Prototype e Motif Singleton.
Motivos de estruturação: Motif Adapter, Motif Bridge, Motif Composite, Motif Decorator, Motif Facade, Motif Flyweight e Motif Proxy.
Motivos de comportamento: Motif Chain of Responsibility, Motif Command, Motif Interpreter, Motif Iterator, Motif Mediator, Motif Memento, Motif Observer, Motif State, Motif Strategy, Motif Template Method e Motif Visitor.

Veja alguns exemplos de motivos de concepção:
Motivo MVC (Modelo-Vista-Controlador): parte do princípio de que qualquer aplicação pode ser decomposta em três camadas separadas:
Modelo: os dados,
Vista: a representação dos dados,
Controlador: o processamento dos dados para representá-los.
Motivo Proxy: que define um objeto intermediário como procuração para efetuar, de maneira transparente para o usuário, as chamadas de métodos para um objeto distante.


Veja também


Patrones de diseño
Patrones de diseño
Design Patterns
Design Patterns
Design Patterns
Design Patterns
Este documento, intitulado 'Design Patterns', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.