Pular para conteúdo

GoFs Criacionais

Introdução

O padrão de design Gof Criacional refere-se a um conjunto de técnicas e soluções que facilitam a criação de objetos em programação orientada a objetos. Esses padrões são fundamentais para a flexibilidade e a manutenção do código, permitindo que os desenvolvedores criem instâncias de classes de maneira eficiente e controlada. Este artefato explora os principais padrões criacionais do Gang of Four (GoF), suas características e aplicações.

Metodologia

Este artefato foi concebido através de uma revisão da literatura sobre padrões de design, com foco nos padrões criacionais propostos pelo Gang of Four. Foram analisados livros, artigos acadêmicos e recursos online que detalham a implementação e os benefícios desses padrões. A estrutura do documento foi organizada para facilitar a compreensão e a aplicação prática dos conceitos abordados.

Padrões Criacionais

Singleton

O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a essa instância. É amplamente utilizado em situações onde um único objeto é necessário para coordenar ações em todo o sistema.

Exemplo de uso: Gerenciadores de configuração, onde uma única instância deve controlar as configurações da aplicação.

Factory Method

O Factory Method define uma interface para criar um objeto, mas permite que as subclasses decidam qual classe instanciar. Esse padrão promove a desacoplamento entre a criação de objetos e seu uso.

Exemplo de uso: Sistemas que precisam de diferentes tipos de produtos, como um sistema de gerenciamento de pedidos que pode criar diferentes tipos de pedidos (online, presencial, etc.).

Abstract Factory

O padrão Abstract Factory fornece uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas. Isso é útil quando o sistema deve ser independente de como seus produtos são criados.

Exemplo de uso: Interfaces gráficas que precisam de diferentes estilos de botões e janelas, dependendo do sistema operacional.

Builder

O padrão Builder separa a construção de um objeto complexo da sua representação, permitindo que o mesmo processo de construção crie diferentes representações. Isso é especialmente útil quando um objeto possui muitas partes ou configurações.

Exemplo de uso: Construção de um documento complexo, como um relatório, onde diferentes seções podem ser adicionadas de forma flexível.

Prototype

O padrão Prototype permite que um objeto crie cópias de si mesmo, facilitando a clonagem de objetos complexos sem depender de suas classes concretas. Este padrão é útil quando a criação de um novo objeto é cara em termos de recursos.

Exemplo de uso: Jogos onde os personagens podem ser duplicados ou modificados a partir de um modelo existente.

Bibliografia

Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). *Design Patterns: Elements of Reusable Object-Oriented Software*. Addison-Wesley.

Buschmann, F., Meunier, R., Rohnert, H., & Sommerlad, P. (1996). *Pattern-Oriented Software Architecture: A System of Patterns*. Wiley.

Histórico de Versão

Versão Data Descrição Autor(es) Revisor(es)
1.0 23/07/2024 Confecção do artefato João Lucas Papa