Padrões de Projeto do Jeito Certo
com
Confira TODO O CONTEÚDO disponível que você terá acesso, incluindo
nossas aulas gravadas e a programação das próximas sessões ao vivo.
Tudo organizado para sua conveniência e para enriquecer
ainda mais sua experiência de aprendizado.
Masterclass já realizadas
Você terá acesso completo a todas as sessões já realizadas, garantindo que não perderá nenhum conteúdo relevante. Confira todas as sessões de masterclass já realizadas:
Padrões de projeto são soluções comprovadas e amplamente utilizadas para problemas comuns no desenvolvimento de software. Eles representam um conjunto de boas práticas e abordagens para projetar e estruturar o código de forma eficiente, reutilizável e de fácil manutenção. Os padrões de projeto ajudam os desenvolvedores a enfrentar desafios recorrentes, fornecendo soluções testadas e aprovadas que promovem a clareza, a flexibilidade e a extensibilidade do código. Além disso, os padrões de projeto promovem a comunicação e o entendimento entre os membros da equipe, pois fornecem uma linguagem comum para discutir e compartilhar ideias de design.
Identificaremos as melhores alternativas para abstrair ou adiar a criação de objetos – tanto sob a perspectiva orientada a objetos quanto funcional. Entenderemos como obter ganhos significativos de desempenho – reduzindo tempos de processamento e consumo de recursos. Além disso, discutiremos estratégias do “mundo real” para adotar os padrões de criação para facilitar o reuso e a manutenção do código.
Quase 90% do tempo de execução da maioria das aplicações em Java e .NET é comprometido com coleta de lixo! Nessa masterclass, entenderemos o impacto negativo para o desempenho de criar objetos desnecessariamente. Discutiremos alternativas para reaproveitamento de instâncias a partir dos padrões de projeto criacionais. Discutiremos a utilização de padrões de projeto modernos, além dos do GOF para postergar ou até evitar a criação de objetos.
Vamos explorar o padrão Command para encapsular solicitações como objetos, separando quem solicita uma ação do objeto que a executa. Descubra como o padrão Memento suporta a reversão de ações em sistemas e como o padrão Composite potencializa o uso combinado dos padrões Command e Memento. Além disso, falaremos sobre como o entendimento de cada padrão colabora com a tarefa de design da solução e como eles orientam, também, o detalhamento com clientes durante a descoberta da intenção.
Vamos entender como o padrão Strategy pode ser usado para definir uma família de algoritmos, encapsulando cada um como uma classe separada, e permitindo que o algoritmo a ser executado seja selecionado em tempo de execução. Em seguida, vamos explorar o padrão Template Method, que define o esqueleto de um algoritmo em uma superclasse e permite que as subclasses implementem etapas específicas desse algoritmo de maneiras diferentes. Por fim, vamos discutir o padrão Decorator, que permite adicionar comportamento a um objeto dinamicamente, sem afetar o comportamento de outros objetos do mesmo tipo.
Entenderemos como padrão Bridge que separa a abstração de sua implementação concreta, permitindo que diferentes implementações possam ser facilmente alteradas sem afetar a funcionalidade geral do sistema. Destacaremos a capacidade do padrão Adapter criar uma interface comum entre dois sistemas com interfaces incompatíveis, permitindo que sejam integrados de forma mais fácil e eficiente. Finalmente, iremos explorar o padrão Proxy que cria um objeto intermediário que atua como um substituto para outro objeto, controlando o acesso e adicionando funcionalidades extras, como caching e autenticação.
Neste encontro, você aprenderá a aplicar Command, Interpreter e Mediator de projeto para reduzir o acoplamento e aumentar a modularidade do seu sistema, permitindo flexibilidade e eficiência na sua implementação. Descubra como gerenciar melhor a comunicação entre componentes e construir um código mais robusto e manutenível. Também entenda quando esses padrões não são aplicáveis
Sinta-se perdido ao tentar percorrer coleções complexas de dados? Junte-se a nós nesta aula e torne-se um mestre na arte de iterar. O padrão Iterator permite que você percorra elementos de uma coleção sem expor sua representação subjacente. Além disso, frameworks modernos, como o LINQ em .NET, utilizam o Iterator para garantir performance máxima, alocando dados de forma inteligente. Aprenda como este padrão elegantemente oculta a complexidade, tornando seu código mais limpo, flexível e sofisticado, e como ele é essencial no mundo dos frameworks atuais. Seja coleções, listas, árvores ou grafos, o Iterator é sua bússola no oceano de dados!
Masterclass AO VIVO
Acontece uma vez ao mês
Confira quais são as próximas sessões de masterclass que já estão agendadas para este grupo:
Enfrentando sistemas com interfaces incompatíveis? O padrão Adapter pode ser familiar, mas nossa masterclass promete revelar detalhes que até programadores experientes podem ter perdido. Descubra nuances e estratégias avançadas, tornando a integração de sistemas mais eficaz e refinada com o Adapter.
Enfrentando sistemas com interfaces incompatíveis? O padrão Adapter pode ser familiar, mas nossa masterclass promete revelar detalhes que até programadores experientes podem ter perdido. Descubra nuances e estratégias avançadas, tornando a integração de sistemas mais eficaz e refinada com o Adapter.
Já se sentiu perdido ao enfrentar códigos complexos? Padrões de projeto são a solução, guiando a simplificação e elevando a legibilidade e eficiência do código. Em nossa masterclass, compartilharei vasta experiência em refatoração. Exploraremos técnicas que facilitam a compreensão, manutenção e evolução de códigos desafiadores. Descubra como melhorar sua codificação de forma produtiva!
Já se sentiu perdido ao enfrentar códigos complexos? Padrões de projeto são a solução, guiando a simplificação e elevando a legibilidade e eficiência do código. Em nossa masterclass, compartilharei vasta experiência em refatoração. Exploraremos técnicas que facilitam a compreensão, manutenção e evolução de códigos desafiadores. Descubra como melhorar sua codificação de forma produtiva!
Lições Complementares
Essas lições são elaboradas em colaboração com os alunos, que têm a oportunidade de propor os temas em conjunto com ElemarJr. Confira as lições complementares já disponíveis:
#LiveCoding
As sessões de livecoding são realizadas de forma interativa, permitindo a participação ativa dos alunos que desejam aprofundar seus conhecimentos. Confira as sessões de live coding já realizadas:
Você sabe o que é uma hashtable? Saberia como implementar uma? Se a resposta é NÃO, eu posso te ajudar. Nesse vídeo, mostro, passo a passo, o que é e como implementar uma hashtable em uma “sessão particular”, com muito código.
Neste vídeo Elemar Júnior explica o que é padrão “Abstract Factory” e qual seu propósito. É uma sessão de live coding, recheada de exemplos do mundo real, onde falamos sobre a importância da dissociação entre implementação e intenção, pois assim se torna mais fácil a diferenciação dos diversos padrões de projeto.
Criar objetos nem sempre é uma atividade simples. Mas, não precisa ser assim! Nesse vídeo, apresento um passo a passo de como adotar o padrão de projeto Builder para simplificar a criação de objetos.
Recomendações de Livros
Em todas as sessões de masterclass são recomendados livros para complementar e aprofundar os temas estudados.
Bônus Exclusivo
Utilizando o padrão Builder do Jeito Certo
Introdução sobre o padrão de projeto Builder, destacando sua importância e aplicabilidade no desenvolvimento de software.
Serão discutidos os aspectos a serem considerados antes de optar pelo uso do padrão Builder, como a complexidade do objeto a ser construído e a necessidade de flexibilidade na criação.
Será explorado o propósito original do padrão Builder, que é permitir a construção de objetos complexos passo a passo, separando sua construção da representação final.
Será abordado o benefício do padrão Builder em evitar a criação de construtores com muitos parâmetros, proporcionando uma forma mais legível e modular de configurar objetos.
Será discutido o uso do padrão Builder em situações em que a lógica de criação do objeto é complexa, tornando mais fácil a implementação e manutenção do código.
Será explorado um aprofundamento no entendimento do padrão Builder, abordando detalhes e considerações adicionais para sua correta utilização.
Será destacada a aplicação do padrão Builder na criação de hierarquias de objetos, permitindo uma construção flexível e escalável.
Será apresentado o uso do padrão Builder em modelos imutáveis, onde a construção do objeto é realizada passo a passo, garantindo a integridade dos dados.
Será feito um fechamento do curso sobre o padrão de projeto Builder, ressaltando seus benefícios e considerações importantes para sua aplicação efetiva no desenvolvimento de software.
Bônus Exclusivo
Arquitetura de Software
Você terá acesso exclusivo a uma aula gravada de mentoria de arquitetura de software, com um conteúdo extremamente valioso para impulsionar sua carreira. Nessa aula, você terá 2 horas e 30 minutos de informações e insights poderosos. Não perca essa oportunidade incrível de aprender com um especialista no assunto.
Telegram
Grupo no Telegram é uma comunidade criada exclusivamente para nossos alunos onde é possível debater, compartilhar, obter novos aprendizados e ainda fazer um super networking.
12x de R$124,55*
ou R$ 1.248,00 à vista
* Parcelas com juros da plataforma
Com mais de 30 anos de experiência e uma carreira internacional bem-sucedida, Elemar Jr. compartilha suas vivências para ajudar outros profissionais a aproveitarem oportunidades e evitarem desafios que enfrentou em sua trajetória.
Ele aprendeu que conhecer os fundamentos e os padrões de projetos é mais importante para resolver problemas do que simplesmente seguir as tendências de bibliotecas e frameworks. Sua abordagem baseada em sólidos fundamentos tem sido a chave para alcançar resultados maiores e mais rápidos em sua carreira. Sua experiência e conhecimento têm influenciado positivamente outros profissionais, inspirando-os a adotar a mesma abordagem e alcançar o sucesso.
Há anos, Elemar vem ajudando desenvolvedores a fazer software de maneira mais efetiva, enfatizando a importância do estudo dos fundamentos.
Por isso, hoje se considera mais do que um desenvolvedor de software, mas também um profissional que ajuda a “desenvolver gente que desenvolve software”.
Preencha os dados a seguir para iniciar o seu cadastro no Grupo Intensivo de Estudos de Reputação e Marketing Pessoal:
Preencha os dados a seguir para iniciar o seu cadastro no Grupo Intensivo de Estudos de DDD do Jeito Certo:
Preencha os dados a seguir para iniciar o seu cadastro no Grupo Intensivo de Estudos de Padrões de Projeto:
Preencha os dados a seguir para iniciar o seu cadastro no Grupo Intensivo de Estudos de Algoritmos e Estruturas de Dados: