Curso online gratuitoDesign Patterns na programação
Duração do curso online: 15 horas e 44 minutos
Novo
Escreva código mais limpo e escalável com Design Patterns. Curso online gratuito com prática em TypeScript, exemplos reais e conceitos do GoF.
Neste curso gratuito, aprenda sobre
Conceitos de Design Patterns GoF: propósito, categorias e trade-offs (complexidade/overengineering)
Leitura de UML básico: herança, associações e diagrama de classes para modelar soluções
Configuração de projeto TypeScript: tsconfig.json, compilação e opções do compilador
Singleton: garantir instância única, ponto global de acesso e impactos em testes/acoplamento
Builder: criação fluente de objetos complexos, separando construção e representação
Prototype: clonagem de objetos e reutilização eficiente de instâncias em JS/TS
Factory Method vs Abstract Factory: criação desacoplada e famílias de objetos relacionados
Composite: tratar objetos e composições de forma uniforme em estruturas hierárquicas
Adapter e Bridge: adaptar interfaces e separar abstração da implementação para evoluir sistemas
Decorator, Facade e Proxy: extensão dinâmica, simplificação de API e controle de acesso/cache
Flyweight: otimização de memória com compartilhamento de estado intrínseco em muitos objetos
Strategy, Template Method e State: variar algoritmos, esqueleto fixo e comportamento por estado
Command, Memento, Mediator e Chain: encapsular ações, undo, coordenação e pipeline de handlers
Observer, Iterator e Visitor: notificação, iteração uniforme e operações sobre estruturas complexas
Descrição do curso
Dominar Design Patterns é um passo decisivo para evoluir de “fazer funcionar” para construir software sustentável. Neste curso online gratuito de Design Patterns na programação, você aprende como arquitetar soluções reutilizáveis para problemas recorrentes, reduzindo acoplamento, melhorando a legibilidade e facilitando a evolução do projeto ao longo do tempo. A proposta é transformar a forma como você pensa o design de código, dando repertório para decidir quando aplicar (ou não aplicar) um padrão de projeto.
Ao longo das aulas, os conceitos clássicos do GoF são apresentados com uma abordagem prática, conectando teoria e aplicação no dia a dia. Você verá como representar ideias com UML básica e como organizar um projeto em TypeScript para experimentar as implementações. Em vez de decorar nomes, o foco é compreender intenção, trade-offs e consequências de design: por que determinado padrão existe, que tipo de problema ele resolve, quais sinais do código indicam a necessidade e quais riscos aparecem quando padrões são usados sem critério.
Você terá contato com padrões criacionais, estruturais e comportamentais, entendendo como eles colaboram entre si para criar sistemas mais flexíveis. A experiência combina exemplos de implementação, raciocínio arquitetural e exercícios de fixação que reforçam as decisões por trás de cada solução. Isso ajuda você a ganhar confiança para refatorar com propósito, estabelecer contratos mais claros entre componentes e construir funcionalidades sem transformar o código em uma “teia” difícil de manter.
O curso é indicado para quem já programa e quer elevar a maturidade técnica, especialmente em desenvolvimento web e aplicações com JavaScript/TypeScript. Ao finalizar, você estará mais preparado para entrevistas técnicas, para discutir arquitetura com o time e para criar projetos com crescimento previsível, fazendo escolhas conscientes entre simplicidade e extensibilidade. Se você busca melhorar sua capacidade de projetar software e escrever código mais profissional, este treinamento entrega uma base sólida e aplicável.
Conteúdo do curso
Aula em vídeo: Padrões de Projeto (Design Patterns - GoF) - Introdução - Parte 1/4512m
Exercício: Qual é uma potencial desvantagem de utilizar design patterns em seu código?
Aula em vídeo: Padrões de Projeto - UML Básico - Parte 2/4511m
Exercício: Qual das alternativas representa corretamente a relação de herança entre duas classes em um diagrama de classes?
Aula em vídeo: Padrões de Projeto - Configurando um projeto TypeScript - Parte 3/4522m
Exercício: Qual é o propósito de criar um arquivo tsconfig.json em um projeto TypeScript?
Aula em vídeo: Singleton Teoria - Padrões de Projeto - Parte 4/4515m
Exercício: Qual é a principal responsabilidade do padrão de projeto Singleton?
Aula em vídeo: Singleton Prática - Padrões de Projeto - Parte 5/4528m
Exercício: Qual é o principal objetivo do padrão de projeto Singleton?
Aula em vídeo: Builder Teoria - Padrões de Projeto - Parte 6/4518m
Exercício: Qual é a principal vantagem de utilizar o padrão de projeto Builder na criação de objetos complexos?
Aula em vídeo: Builder Prática - Padrões de Projeto - Parte 7/4537m
Exercício: Qual é a principal vantagem de utilizar o padrão de projeto Builder na programação?
Aula em vídeo: Prototype Teoria - Padrões de Projeto - Parte 8/4519m
Exercício: Qual é a principal vantagem de usar o padrão de projeto Prototype em linguagens baseadas em protótipos como JavaScript e TypeScript?
Aula em vídeo: Prototype Prática - Padrões de Projeto - Parte 9/4527m
Exercício: Qual é a principal função do padrão de projeto Prototype no contexto de programação em JavaScript?
Aula em vídeo: Factory Method Teoria - Padrões de Projeto - Parte 10/4519m
Exercício: Qual é o principal objetivo do padrão de projeto Factory Method?
Aula em vídeo: Factory Method Prática - Padrões de Projeto - Parte 11/4529m
Exercício: Qual é a principal vantagem de usar o padrão de projeto Factory Method em relação à criação direta de objetos?
Aula em vídeo: Abstract Factory Teoria - Padrões de Projeto - Parte 12/4518m
Exercício: Qual é a principal diferença entre o padrão de projeto Factory Method e o Abstract Factory?
Aula em vídeo: Abstract Factory Prática - Padrões de Projeto - Parte 13/4528m
Exercício: Qual é o objetivo principal do padrão de design Abstract Factory na programação?
Aula em vídeo: Composite Teoria - Padrões de Projeto - Parte 14/4516m
Exercício: Qual é a principal característica do padrão de design Composite em termos de organização de objetos?
Aula em vídeo: Composite Prática - Padrões de Projeto - Parte 15/4530m
Exercício: No padrão de design Composite, quais são os principais componentes envolvidos na implementação e como eles se relacionam?
Aula em vídeo: Adapter Teoria - Padrões de Projeto - Parte 16/4513m
Exercício: Qual é a principal função do padrão de projeto Adapter em desenvolvimento de software?
Aula em vídeo: Adapter Prática - Padrões de Projeto - Parte 17/4518m
Exercício: Qual das alternativas a seguir define corretamente a função de um padrão Adapter em Design Patterns?
Aula em vídeo: Bridge Teoria - Padrões de Projeto - Parte 18/4513m
Exercício: Qual é a principal intenção do padrão de projeto Bridge em programação?
Aula em vídeo: Bridge Prática - Padrões de Projeto - Parte 19/4523m
Exercício: Qual o principal objetivo do padrão de design Bridge em programação?
Aula em vídeo: Decorator Teoria - Padrões de Projeto - Parte 20/4516m
Exercício: Qual é a principal vantagem do padrão de projeto Decorator conforme discutido no curso?
Aula em vídeo: Decorator Prática - Padrões de Projeto - Parte 21/4521m
Exercício: Qual é o principal objetivo do padrão de projeto Decorator?
Aula em vídeo: Façade Teoria e Prática - Padrões de Projeto - Parte 22/4514m
Exercício: Qual é a principal intenção do padrão de projeto Facade (Fachada) na programação?
Aula em vídeo: Proxy Teoria - Padrões de Projeto - Parte 23/4515m
Exercício: Qual é a principal intenção do padrão de projeto Proxy?
Aula em vídeo: Proxy Prática - Padrões de Projeto - Parte 24/4525m
Exercício: Qual é a principal função do padrão de projeto Proxy no contexto da programação?
Aula em vídeo: Flyweight Teoria - Padrões de Projeto - Parte 25/4515m
Exercício: Em que situações o padrão de projeto Flyweight é mais eficaz para otimizar o desempenho de uma aplicação?
Aula em vídeo: Flyweight Prática - Padrões de Projeto - Parte 26/4527m
Exercício: Qual é a principal finalidade do padrão de projeto Flyweight na programação?
Aula em vídeo: Strategy Teoria - Padrões de Projeto - Parte 27/4513m
Exercício: Qual é a principal intenção do padrão de projeto Strategy?
Aula em vídeo: Strategy Prática - Padrões de Projeto - Parte 28/4525m
Exercício: Qual é a principal vantagem de utilizar o padrão de projeto Strategy em um sistema de e-commerce?
Aula em vídeo: Command Teoria - Padrões de Projeto - Parte 29/4513m
Exercício: Qual é uma vantagem principal do padrão de projeto Command?
Aula em vídeo: Command Prática - Padrões de Projeto - Parte 30/4527m
Exercício: Qual é a principal responsabilidade do padrão de design Command em um sistema de automação residencial?
Aula em vídeo: Memento Teoria - Padrões de Projeto - Parte 31/4513m
Exercício: Qual é o principal objetivo do padrão de projeto Memento?
Aula em vídeo: Memento Prática - Padrões de Projeto - Parte 32/4525m
Exercício: Qual é a função principal do padrão de projeto Memento na programação?
Aula em vídeo: State Teoria - Padrões de Projeto - Parte 33/4514m
Exercício: Qual é o principal benefício ao utilizar o padrão de projeto State em um sistema que possui múltiplos estados de contexto?
Aula em vídeo: State Prática - Padrões de Projeto - Parte 34/4526m
Exercício: No padrão de projeto State, qual é a principal vantagem de mover os comportamentos específicos de estado para dentro das classes de estado?
Aula em vídeo: Mediator Teoria - Padrões de Projeto - Parte 35/4512m
Exercício: Qual é a principal finalidade do padrão de projeto Mediator?
Aula em vídeo: Mediator Prática - Padrões de Projeto - Parte 36/4522m
Exercício: Qual é a principal função de um mediator em um padrão de projeto?
Aula em vídeo: Chain Of Responsibility Teoria - Padrões de Projeto - Parte 37/4518m
Exercício: Qual é a principal vantagem do padrão de projeto Chain of Responsibility?
Aula em vídeo: Chain Of Responsibility Prática - Padrões de Projeto - Parte 38/4516m
Exercício: Qual é o principal objetivo do padrão de projeto 'Chain of Responsibility'?
Aula em vídeo: Template Method Teoria - Padrões de Projeto - Parte 39/4514m
Exercício: Qual é a principal diferença entre o padrão Template Method e o padrão Strategy?
Aula em vídeo: Template Method Prática - Padrões de Projeto - Parte 40/4532m
Exercício: Qual é o principal objetivo do padrão de projeto Template Method?
Aula em vídeo: Observer Teoria - Padrões de Projeto - Parte 41/4511m
Exercício: Qual é a principal característica do padrão de projeto Observer?
Aula em vídeo: Observer Prática - Padrões de Projeto - Parte 42/4528m
Exercício: Qual padrão de projeto é utilizado para permitir que um objeto notifique automaticamente uma lista de dependentes sobre qualquer alteração de estado, sem que os dependentes saibam detalhes sobre o objeto que notifica?
Aula em vídeo: Iterator Teoria - Padrões de Projeto - Parte 43/4521m
Exercício: Qual é o principal objetivo do padrão de projeto Iterator?
Aula em vídeo: Iterator Prática - Padrões de Projeto - Parte 44/4532m
Exercício: Qual é a principal vantagem de utilizar o design pattern Iterator em estruturas de dados?
Aula em vídeo: Visitor Prática e Teoria - Padrões de Projeto - Parte 45/4533m
Exercício: Qual é uma das principais vantagens de usar o padrão de projeto Visitor em uma estrutura de dados complexa?
Este curso gratuito inclui:
15 horas e 44 minutos de curso online em vídeo
Certificado digital de conclusão de curso ( Gratuito )
Exercícios para treinar seus conhecimentos
100% gratuito, do conteúdo ao certificado
Pronto para começar?Baixe o app e comece hoje mesmo.