Redes sociais

Padrões de Projeto - Uma visão geral

14 fevereiro 2022 -

Fala, Pessoal! Tudo bem com vocês?

Hoje vim aqui para falarmos, resumidamente, sobre os Padrões de Projeto (ou Design Patterns, em inglês). Você sabe o que são, quais são e para que servem? Não?! Vem comigo que vou te mostrar!

O que é um padrão de projeto?


Os Padrões de Projeto (ou Design Patterns, nome em inglês), são descrições de soluções prontas para um grupo problemas já conhecidos em um projeto de software.

Eles são como a planta de uma obra, que você pode customizar para resolver um problema no seu projeto de software. Isso quer dizer que os Padrões de Projeto não são partes de código que você pode copiar e colar no seu projeto, mas sim um conceito geral que você poderá aplicar no seu código para resolver aquele problema em específico.

Uma breve história…


Seu conceito surgiu na década de 1970 quando o arquiteto Christopher Alexander definiu em seu livro “Uma Linguagem de Padrões” as características dos padrões de projeto.

Baseado nos conceitos criados por Alexander, os programadores Kent Beck e Ward Cunningham propuseram, em 1987, os primeiros Padrões de Projeto para a área da ciência da computação, mas foi somente em 1995, que o movimento ao redor dos Padrões de Projeto ganhou popularidade nesse meio, com a publicação do livro Design Patterns: Elements of Reusable Object-Oriented Software.

Os autores do livro, Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, ficaram conhecidos como a "Gangue dos Quatro" (Gang of Four, em inglês) ou simplesmente "GoF", sigla que é muito comum de ser ouvida no meio da computação quando se fala sobre Padrões de Projeto.

Posteriormente muitos outros livros sobre o assunto foram publicados, e alguns novos padrões surgiram, como por exemplo os Padrões GRASP (General Responsibility Assignment Software Patterns), que foram definidos no livro “Applying UML and Patterns — An Introduction to Object-Oriented Analysis and Design and the Unified Process” escrito por Craig Larman em 1997.

Os Padrões GoF

O GoF define 23 Padrões de Projeto que estão organizados em três diferentes grupos, divididos de acordo com a natureza do problema que resolvem. São eles:
  1. Os padrões de criação, que estão relacionados à criação de objetos,
  2. Os padrões estruturais, que tratam das associações entre classes e objetos, e
  3. Os padrões comportamentais, que lidam com as interações e divisões de responsabilidades entre as classes e objetos.

Os 23 Padrões de Projeto definidos pelo GoF são:

  • Padrões criacionais
  1. Abstract Factory
  2. Builder
  3. Factory Method
  4. Prototype
  5. Singleton
  • Padrões estruturais
  1. Adapter
  2. Bridge
  3. Composite
  4. Decorator
  5.  Facade
  6.  Flyweight
  7.  Proxy
  • Padrões comportamentais
  1. Chain of Responsibility
  2. Command
  3. Interpreter
  4. Iterator
  5. Mediator
  6. Memento
  7. Observer
  8. State
  9. Strategy
  10. Template Method
  11. Visitor

Os Padrões GRASP 


Enquanto os padrões GoF exploram soluções bem específicas, os padrões GRASP exploram as práticas e princípios da orientação a objetos. 

Os padrões definidos no GRASP são:

  • Controller (controlador), 
  • Creator (criador),
  • Indirection (indireção),
  • Information expert (especialista na informação),
  • Alta coesão,
  • Baixo acoplamento,
  • Polimorfismo,
  • Pure fabrication (fabricação/invenção pura), e
  • Protected variations (variações protegidas).


Por fim, podemos concluir que:
  • O uso dos padrões nos auxilia a resolver os desafios mais recorrentes durante nosso desenvolvimento, pois são soluções típicas para problemas comuns em projeto de software.

E se você quiser saber mais sobre cada um dos padrões de projeto aqui citado, sugiro a leitura das próximas publicações que ficarão disponíveis na tag Padrões de Projeto aqui no blog.

Forte abraço e nos vemos no próximo post! ;) 

Autor: Flávia Melo 

Postar um comentário