Design Patterns? Ahn?

Comecei recentemente a estudar mais afundo Design Patterns e confesso que para mim são muitos e realmente fica difícil saber exatamente quando usar um ou quando usar outro

Viviane Santos França
Mulheres de Produto
2 min readMay 8, 2018

--

Design Patterns são soluções para problemas que encontramos durante o desenvolvimento de software que foram testadas e validadas. Esse padrões nos ajudam no entendimento do código e podem agilizar o desenvolvimento.
Essas práticas começaram a ficar conhecidas após o livro
Design Patterns: Elements of Reusable Object-Oriented Software em 1994.

Os Design Patterns são classificados nos seguintes tipos:

Creational Patterns

Os padrões desse tipo são sobre instanciação de classes, ou seja, é voltado para criação de objetos enquanto ocultam a lógica de criação. Podem ser divididos em padrões de criação de classes e padrões de criação de objetos e buscam diferentes formas de cumprir o mesmo propósito. Dentro desse tipo temos os seguintes padrões:

  • Abstract Factory
  • Builder
  • Factory Method
  • Object Pool
  • Prototype
  • Singleton

Structural Patterns

Já os padrões desse tipo são padrões de design e tem como objetivo encontrar formas mais simples de realizar relacionamento entre entidades, entre eles, criação de classes que usam herança para compor interfaces e definição de maneiras de compor objetos. Diferente do Creational Patterns, neste cada pattern tem um propósito diferente. Dentro desse tipo temos os seguintes padrões:

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Private Class Data
  • Proxy

Behavioral Patterns

Como o nome já diz, padrões desse tipo exploram a parte mais comportamental, ou seja, a forma como os objetos interagem e dividem responsabilidades entre si. Este descreve como objetos e classes diferentes enviam mensagens uns aos outros e como as etapas de uma tarefa são divididas entre objetos diferentes. Dentro desse tipo temos os seguintes padrões:

  • Chain of responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Null Object
  • Observer
  • State
  • Strategy
  • Template method
  • Visitor

Resumindo…

Os Creational Patterns são para a fase de criação de objetos, já os Structural Patterns são voltados para os relacionamentos entre entidades, e, por fim, os Behavioral Patterns são formas de iteração entre objetos e classe.

Teremos outros artigos explicando cada um desses padrões, aguarde! :)

--

--