Creational Patterns

  • Eles abstraem o processo de instanciação.
  • A principal preocupação é atribuir a responsabilidade pela criação do objeto.
    • “Onde devo usar a keyword new?”
  • Normalmente, eles podem melhorar o acoplamento ao separar a lógica de criação de objetos do código do cliente que usa esses objetos.

Os padrões criacionais são projetados principalmente para lidar com as complexidades associadas à criação de objetos. O objetivo central desses padrões é abstrair e simplificar o processo de instanciação de objetos. Eles buscam resolver vários problemas relacionados à criação de objetos, tais como:

  1. Controle sobre o Processo de Criação: Padrões criacionais fornecem maior controle sobre como os objetos são criados. Eles permitem flexibilidade e reutilização no processo de criação, o que é difícil de alcançar com a simples instanciação de objetos usando construtores.

  2. Separação entre a Criação do Objeto e a Implementação da Classe: Isso é essencial para alcançar o princípio de design de baixo acoplamento. Os padrões criacionais ajudam a separar a construção de um objeto de sua representação, o que significa que o mesmo processo de construção pode criar diferentes representações.

  3. Encapsulamento do Código de Criação: Em vez de espalhar o código de criação por toda a aplicação, os padrões criacionais encapsulam este código em uma localização central, facilitando a manutenção e a escalabilidade do código.

  4. Flexibilidade e Extensibilidade: Eles proporcionam uma maneira flexível de criar objetos que podem ser facilmente adaptados ou estendidos com novos tipos de objetos.

  5. Gerenciamento de Complexidades: Alguns objetos podem ser complexos para criar, envolvendo etapas múltiplas ou configurações intricadas. Padrões criacionais como o Builder podem simplificar esses processos.

  6. Controle sobre a Criação de Objetos Singleton: Em situações onde deve existir apenas uma instância de uma classe em todo o programa, o padrão Singleton é utilizado para restringir a criação de múltiplas instâncias.

Em resumo, os padrões criacionais são fundamentais para lidar com os desafios de como os objetos são criados, configurados, e integrados em sistemas de software maiores, mantendo ao mesmo tempo a flexibilidade e a eficiência.

Padrões Criacionais do GoF