Entrar em Contato
 Duração 35 horas

Programa do Curso

De Habilidades de Linguagem ao Design de Soluções

  • Recursos avançados do C# e suas implicações no 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 aceite.
  • Modelos de domínio e linguagem ubíqua.

Princípios de Design de Software

  • Princípios SOLID aplicados a soluções .NET.
  • Coplamento, coesão e direção de dependências.

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ões Técnicas

  • Comparação entre arquitetura em camadas, hexagonal e clean architecture.
  • Registros de decisão de arquitetura e análise de trade-offs.

Planejamento da Estrutura da Solução

  • Organização de soluções e projetos para bases de código grandes.
  • Monolito modular versus fronteiras orientadas a serviços.

C# Moderno para Código Manutenível

  • Pattern matching, records e tipos de referência nulos.
  • 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ção de saúde.

Reflexão, Atributos e Metaprogramação

  • Design baseado em atributos e casos de uso de reflexão.
  • Geradores de código-fonte e geração de código em tempo de compilação.

Fundamentos do ASP.NET Core

  • Modelo de hospedagem, injeção de dependência e configuração.
  • Pipeline de requisições, middleware e filtros.

Projetando APIs REST

  • Modelagem de recursos e semântica HTTP.
  • Versionamento, validação e respostas de erro.
  • Contratos de API com OpenAPI.

Segurando 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 de carregamento antecipado (eager loading).
  • Transações, tokens de concorrência e bypass do EF.

Concorrência e Programação Assíncrona

  • Tasks, TPL e armadilhas de 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 Todas as Camadas

  • Fronteiras de testes unitários, de integração e ponta a ponta.
  • Arquitetura testável e duplos de teste (test doubles).

Implantação e Prontidão Operacional

  • Containers, configuração e pipelines CI/CD.
  • Diagnóstico em produção e segurança de lançamentos.

Estudo de Caso Final: Revisão de Design e Implementação

  • Revisão de arquitetura de uma aplicação de caso.
  • Implementação e refatoração de uma fatia de funcionalidade.

Requisitos

  • Experiência em programação em C#
  • Conhecimento prático de programação orientada a objetos
  • Conhecimentos básicos de SQL e bancos de dados relacionais

Público-Alvo

  • Desenvolvedores .NET
  • Engenheiros de software e líderes técnicos
  • Desenvolvedores em transição para cargos de design de aplicações

Número de participantes


Preço por participante

Testemunhos de Clientes (4)

Próximas Formações Provisórias

Categorias Relacionadas