Solid RELAÇÃO COM GOF

O objetivo desse documento é mostrar que o design SOLID possui 5 princípios relacionados com os criacionais do GOF(GANG OF FOUR).
Assim que um princípio mostra e faz, o GOF é a implementação desse design.

[ Hits: 555 ]

Por: trogmaiu em 14/04/2026


GOF CRIACIONAIS (EXPLICAÇÃO)



SOLID e os padrões GoF (Gang of Four) não são a mesma coisa, mas possuem uma relação importante no desenvolvimento de software orientado a objetos.
SOLID é um conjunto de princípios de design que orienta como estruturar o código de forma mais organizada, flexível e sustentável ao longo do tempo.
Esses princípios ajudam a reduzir acoplamento, aumentar coesão e facilitar manutenção e evolução do sistema.
Por outro lado, os padrões GoF são soluções reutilizáveis para problemas comuns que surgem durante o projeto de software.
Eles representam formas já consolidadas de resolver desafios recorrentes de design. Enquanto SOLID atua em um nível mais conceitual, guiando decisões arquiteturais, os padrões GoF atuam de forma mais prática, mostrando como implementar essas decisões no código.

Em muitos casos, padrões como Factory Method, Abstract Factory e Builder ajudam diretamente a aplicar princípios como Dependency Inversion, Open/Closed e Single Responsibility. No entanto, é importante destacar que os padrões não substituem os princípios.
Em vez disso, eles funcionam como ferramentas que reforçam e viabilizam a aplicação do SOLID. Dessa forma, SOLID define "como pensar" o design do sistema, enquanto GoF oferece o "como fazer". A combinação dos dois permite criar sistemas mais robustos, extensíveis e fáceis de manter. Desenvolvedores que entendem essa relação conseguem tomar decisões mais conscientes e produzir código de maior qualidade. Portanto, dominar ambos é essencial para evoluir no design de software.

São 5 padrões criacionais, mas 3 deles possuem relação maior com SOLID.

Factory Method

Cria um objeto através de uma abstração:
interface Produto {}
class ProdutoA implements Produto {}
interface Fabrica {
    Produto criar();
}
class FabricaA implements Fabrica {
    public Produto criar() {
    return new ProdutoA();
  }
}

Abstract Factory

Cria famílias de objetos relacionados:
interface Botao {}
interface Checkbox {}
class BotaoWindows implements Botao {}
class CheckboxWindows implements Checkbox {}
    interface FabricaGUI {
    Botao criarBotao();
    Checkbox criarCheckbox();
}

Builder

Constrói objetos complexos passo a passo:
class Casa {
    String parede;
    String teto;
}
class CasaBuilder {
    private Casa casa = new Casa();
    public CasaBuilder parede(String tipo) {
        casa.parede = tipo;
        return this;
    }
    public Casa build() {
        return casa;
    }
}


Página anterior     Próxima página

Páginas do artigo
   1. Solid RELAÇÃO COM GOF (Explicação)
   2. SOLID (EXPLICAÇÂO)
   3. GOF CRIACIONAIS (EXPLICAÇÃO)
   4. RELAÇÃO DO SOLID COM GOF (CRIACIONAIS)
Outros artigos deste autor

Boas Práticas e Padrões Idiomáticos em Go e C

Leitura recomendada

PHP >= 5.1 x horário de verão brasileiro

Compactador de URL utilizando manipulação de diretórios do Linux com PHP

Turck MMcache completo e sem mistérios

Acessando o Twitter de 5 formas: protocolo HTTP, cURL, classe HttpRequest (PHP), função http_post_fields() do PHP ou PHP+libcurl

Criando gráficos com a classe JPGraph (parte 2)

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts