Programa do Curso
Da Competência na Linguagem ao Design da Solução
- Recursos avançados de C# e suas implicações de design.
- Recuperando a intenção de design a partir de código existente.
Análise de Requisitos e Modelagem de Domínio
- Casos de uso, histórias de usuário e critérios de aceitação.
- Modelos de domínio e linguagem ubíqua.
Princípios de Design de Software
- Princípios SOLID aplicados a soluções .NET.
- Akoplamento, coesão e direção de dependência.
Padrões de Design para Aplicações .NET
- Seleção de padrões criacionais, estruturais e comportamentais.
- Padrões e anti-padrões em código existente.
Estilos de Arquitetura e Tomada de Decisão Técnica
- Comparação de arquiteturas em camadas, hexagonal e limpa.
- Registros de decisão de arquitetura e análise de compensações (trade-offs).
Planejamento da Estrutura da Solução
- Organização de soluções e projetos para bases de código grandes.
- Monólito modular versus fronteiras orientadas a serviços.
C# Moderno para Código Manutentável
- Casamento de padrões, registros (records) e tipos de referência anuláveis (nullable).
- Genéricos, LINQ e composição funcional.
Tratamento de Exceções, Log e Observabilidade
- Estratégia de exceções e contratos de erro.
- Log estruturado, correlação e verificações de saúde (health checks).
Reflexão, Atributos e Metaprogramação
- Design impulsionado por atributos e casos de uso de reflexão.
- Geradores de fonte e geração de código em tempo de compilação.
Fundamentos de ASP.NET Core
- Modelo de hospedagem, injeção de dependência e configuração.
- Pipeline de requisições, middleware e filtros.
Design de APIs REST
- Modelagem de recursos e semântica HTTP.
- Versionamento, validação e respostas de erro.
- Contratos de API com OpenAPI.
Segurança de Aplicações .NET
- Autenticação e autorização com OpenID Connect.
- AutORIZAÇÃO baseada em políticas e gerenciamento de segredos.
Modelagem de Ameaças e Design Seguro
- Modelagem STRIDE e fronteiras de confiança.
- Revisão de design seguro antes da implementação.
Acesso a Dados com Entity Framework Core
- Modelagem de entidades e relacionamentos.
- Ciclo de vida do DbContext e estratégia de migração.
Desempenho de Consultas e Arquitetura de Dados
- Estratégias de carregamento e armadilhas do carregamento antecipado (eager loading).
- Transações, tokens de concorrência e bypass do EF.
Concorrência e Programação Assíncrona
- Tarefas, TPL e armadilhas do async/await.
- Sincronização, cancelamento e segurança de threads.
Otimização de Desempenho
- Perfilamento e benchmarking com BenchmarkDotNet.
- Memória, alocações e coleta de lixo (garbage collection).
- Estratégias de cache e testes de carga.
Estratégia de Testes em Diferentes Camadas
- Limites entre testes unitários, de integração e de ponta a ponta.
- Arquitetura testável e testes fictícios (test doubles).
Implantação e Prontidão Operacional
- Contêineres, configuração e pipelines CI/CD.
- Diagnóstico em produção e segurança de lançamento.
Projeto Final (Capstone): Revisão de Design e Implementação
- Revisão de arquitetura de uma aplicação de caso.
- Implementação e refatoração de um recorte funcional (feature slice).
Requisitos
- Experiência em programação em C#
- Conhecimento prático de programação orientada a objetos
- Conhecimento básico de SQL e bancos de dados relacionais
Público-Alvo
- Desenvolvedores .NET
- Engenheiros de software e líderes técnicos
- Desenvolvedores que estão ingressando em papéis de design de aplicações
Treinamento Corporativo Personalizado
Soluções de treinamento projetadas exclusivamente para empresas.
- Conteúdo Personalizado: Adaptamos o programa e os exercícios práticos aos objetivos e necessidades reais do seu projeto.
- Horário Flexível: Datas e horários adaptados à agenda da sua equipe.
- Formato: Online (ao vivo), In-Company (em suas instalações) ou Híbrido.
Preço por grupo privado, treinamento online ao vivo, a partir de 6500 € + VAT*
Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes
Testemunhos de Clientes (4)
Foi um treinamento individual, então foi especializado de acordo com as minhas necessidades específicas. Shane destacou elementos do WPF/C# que poderiam ser benéficos para os meus projetos de desenvolvimento.
Warren Nolan - Northrop Grumman
Curso - Programming in WPF
Máquina Traduzida
Conhecimento, envolvimento e relacionamento do instrutor
Adam Kuklewski - GE Medical Systems Polska
Curso - Technical Architecture and Patterns
Máquina Traduzida
As explicações e a interatividade do instrutor realmente trouxeram o assunto à vida; mesmo eu provavelmente não sendo experiente o suficiente, ainda aprendi muito com isso!
Pieter Bruynseels - Spot Buy Center BV
Curso - Design Patterns
Máquina Traduzida
Agradável e amigável. Muito conhecedor. Recomendaria Shane a outras pessoas.
Joshua - California State University Bakersfield
Curso - Programming in C# with Visual Studio 2022
Máquina Traduzida