image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Vitor Garcia
Vitor Garcia07/08/2025 23:55
Share
Suzano - Python Developer #2Recommended for youSuzano - Python Developer #2

Design Patterns, você conhece?

    Olá pessoal, tenho certeza que alguns de vocês já ouviram falar de Design Patterns, enquanto outros talvez ainda não. Por ser um assunto que pode parecer complicado, quero explicar de forma simples o que eles são.

    Design Patterns são soluções comuns para problemas que aparecem com frequência no desenvolvimento de software. Eles funcionam como um “guia” para organizar o código de maneira eficiente e reutilizável.

    Para facilitar, vamos imaginar um jogo 2D. Primeiro, pense no padrão Singleton como o inventário do jogador: existe apenas um inventário único que controla todos os itens que o player carrega. Ele precisa ser único para que as informações estejam sempre sincronizadas.

    Mas afinal, como aplicar isso na prática? Pensando no exemplo do inventário do jogador, aplicar o Singleton significa garantir que em todo o jogo exista apenas uma instância desse inventário, para que todas as partes do sistema possam acessar as mesmas informações atualizadas. Isso evita problemas como dados conflitantes ou múltiplos inventários separados, facilitando o controle e a organização do que o jogador tem, de forma centralizada e confiável.

    Já o Strategy pode ser comparado aos poderes dos inimigos. Cada inimigo pode ter uma estratégia diferente de ataque, e essa estratégia pode mudar conforme o contexto do jogo. O Strategy permite trocar esses comportamentos de forma fácil, sem alterar o inimigo em si.

    Esse padrão permite que você defina uma família de algoritmos ou comportamentos intercambiáveis e selecione qual usar em tempo de execução. No contexto do jogo, isso significa que cada inimigo pode ter diferentes formas de agir — por exemplo, atacar rápido, defender ou usar magias — sem que você precise criar várias classes específicas para cada comportamento. Em vez disso, você cria uma interface comum para esses comportamentos e troca a implementação conforme a necessidade, tornando o código mais flexível e fácil de estender ou modificar sem mexer nas classes principais dos inimigos.

    Por fim, o Factory é como a criação de vários itens no jogo. Quando o jogador pega um item, o Factory é quem decide qual tipo de item criar (arma, escudo), sem que o código precise conhecer detalhes de cada um.

    Esse padrão serve para centralizar a criação de objetos, especialmente quando você tem várias classes relacionadas que precisam ser instanciadas de forma flexível. No exemplo do jogo, quando o jogador coleta um item, o Factory decide qual tipo de item criar — como uma poção, uma arma ou um escudo — sem que o código que pede o item precise saber os detalhes de cada tipo. Isso facilita adicionar novos tipos de itens no futuro e mantém o código organizado, porque toda a lógica de criação fica concentrada em um lugar só.

    Assim, os Design Patterns ajudam a organizar e estruturar o código para que ele fique mais claro, flexível e fácil de manter.

    image

    Share
    Recommended for you
    Akad - Fullstack Developer
    Suzano - Python Developer #2
    Riachuelo - Primeiros Passos com Java
    Comments (0)
    Recommended for youSuzano - Python Developer #2