O que é/são Design Patterns?

Paolo Prodossimo Lopes
2 min readOct 12, 2022

--

Imagem 01-Patrick tomasso, disponível em https://unsplash.com/photos/QMDap1TAu0g

Nesse artigo daremos início a série sobre Design Patterns de publicações sobre o tópico de Design patterns ou em português padrões de projeto aplicado em swift.

Definição:

Os Padrões de projeto, basicamente, soluções generalistas para algum problema ou situação que os desenvolvedores enfrentam no dia-a-dia ao codificar.

Benefícios:

Ao usar os patterns a equipe de desenvolvedores ganham diversas vantagens durante o processo de codificar, sendo alguns deles:

  • Produtividade.
  • Organização.
  • Manutenção.
  • Baixo acoplamento.
  • Padronização de código.

Tipos de Patterns:

No livro de GOF (Gang of Four) - "Design Patterns: Elements of Reusable Object-Oriented Software" categorizaram os padrões em 3 tipos diferentes, sendo eles:

  • Criativa (ou informalmente criacional)
  • Estrutural
  • Comportamental

Padrões Criativos:

Provem Objetos e mecanismos de criação melhorando a flexibilidade do código e seu reuso. Eles são:

  • Fabrica Abstrata (Abstract Factory)
  • Método Fabrica (Abstract Factory)
  • Construtor (Builder)
  • Protótipo (Prototype)
  • Singleton

Padrões Estruturais:

Usado para conectar estruturas e classes e/ou permitir seu crescimento de forma flexível e eficiente. Eles são:

  • Adaptador (Adapter)
  • Ponte (Bridge)
  • Composto (Composite)
  • Decorador (Decorator)
  • Fachada (Facade)
  • Flyweight
  • Proxy

Padrões Comportamentais:

Basicamente se preocupa com o processo (Algoritmo) e atribuição de responsabilidades entre objetos do sistema. Eles são:

  • Cadeia de resposabilidade (Chain of Responsability)
  • Comando (Command)
  • Iterador (Iterator)
  • Mediador (Mediator)
  • Lembrança (Memento)
  • Observador (Observer)
  • Estatdo (State)
  • Estrategia (Strategy)
  • Metodod de Modelo (Template Method)
  • Visitante (Visitor)

Conclusão

Diante da apresentação desses tipos de padrões e quais são eles, artigos futuros serão feitos abordando cada um separadamente, com o intuito de instruir seu uso e sua implementação. Portanto, assim que postado essa pagina sera atualizada facilitando o acesso.

Bibliografia:

Helm, Richar; Vilissides, Jhon; Johnson, Ralph; Gamma, Eric. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994

lutti. Design Patterns — O que são e quais os benefícios?, Opus, 2018. Disponível em: <https://platzi.com.br/blog/programacao-estruturada/>. Acesso em: 01, outubro de 2022

--

--