Entrar em Contato

Programa do Curso

Introdução à Plataforma Moderna .NET

  • Visão geral do tempo de execução, SDK e plataforma unificada do .NET 8
  • Comparação da evolução do .NET Framework, .NET Core e .NET 8+
  • Estrutura de projeto, frameworks de destino e conceitos básicos de multi-alvo (multi-targeting)
  • Configuração do ambiente de desenvolvimento e ferramentas

C# Moderno e Práticas Linguísticas Orientadas ao Futuro

  • Records, setters apenas de inicialização (init-only) e padrões de imutabilidade
  • Ampliações no pattern matching e expressões switch
  • Tipos de referência anuláveis (nullable reference types) e segurança orientada pelo compilador
  • Melhores práticas de async/await e streaming eficiente em memória
  • Math genérico, membros abstract estáticos em interfaces e APIs orientadas à performance
  • Preparação de bases de código para recursos do C# 12/13 no .NET 8

Fundamentos e Inicialização do Aplicativo ASP.NET Core

  • Host builder, pipeline de middleware e ciclo de vida da solicitação
  • Minimal APIs versus APIs baseadas em controllers: critérios de decisão
  • Provedores de configuração, configurações específicas do ambiente e gerenciamento de segredos
  • Arquivos estáticos, roteamento e convenções de endpoint
  • Configuração do contêiner de injeção de dependência e ciclos de vida de serviços

Design e Implementação de API REST

  • Modelo de maturidade REST, modelagem de recursos e design de URI
  • Métodos HTTP, códigos de status e negociação de conteúdo
  • Validação de solicitações, vinculação de modelos e integração com FluentValidation
  • Estratégias de versionamento para APIs públicas e internas
  • Documentação com OpenAPI e Swagger UI
  • Teste de integração de APIs com TestServer e WebApplicationFactory

Injeção de Dependência Empresarial e Inversão de Controle (IoC)

  • Injeção via construtor, ciclos de vida de serviço e dependências aprisionadas (captive dependencies)
  • Padrões de decorador e fábrica com o contêiner integrado
  • Integração do Scrutor e bibliotecas DI de terceiros
  • Registro modular de serviços e organização baseada em recursos/funcionalidades (feature-based)
  • Preocupações transversais (cross-cutting concerns) via middleware e filtros

Logging, Configuração e Tratamento Centralizado de Erros

  • Logging estruturado com Microsoft.Extensions.Logging e Serilog
  • Níveis de log, escopos, enriquecimento (enrichment) e configuração de sinks
  • Middleware de exceção e pipelines globais de tratamento de erros
  • ProblemDetails e respostas de erro compatíveis com RFC 7807
  • Verificações de saúde (health checks), telemetria e ganchos de observabilidade
  • Preparação para IDs de correlação e rastreamento distribuído

Arquitetura de Software para Soluções Empresariais .NET

  • Princípios da arquitetura em camadas, hexagonal e limpa (clean architecture)
  • Blocos de construção do Design Centrado no Domínio (DDD) no .NET
  • Padrões CQRS e mediator com MediatR
  • Padrões Repository e Unit of Work com EF Core
  • Arquitetura Vertical Slice para coesão de funcionalidades
  • Avaliação das vantagens e desvantagens entre monolito, monolito modular e microsserviços

Segurança para Aplicações Web e APIs

  • Esquemas de autenticação: JWT, OAuth2, OpenID Connect e fluxos baseados em cookies
  • Políticas de autorização, acesso baseado em claims e guarda-chuvas (guards) baseados em recursos
  • Aplicação do HTTPS, HSTS e middleware de cabeçalhos seguros
  • Sanitização de entrada, codificação de saída e mitigação das OWASP Top 10
  • Limitação de taxa (rate limiting), políticas CORS e manipulação de tokens antifalsificação
  • Gestão de segredos com Azure Key Vault e rotação orientada pelo ambiente

Qualidade do Código, Manutenibilidade e Melhores Práticas

  • Padrões de codificação, EditorConfig e dotnet format
  • Análise estática com analisadores Roslyn e integração com SonarQube
  • Testes unitários com xUnit e mocking com Moq ou NSubstitute
  • Teste de integração e de contrato em pipelines CI
  • Técnicas de refatoração para módulos legados de longo ciclo de vida
  • Documentação, contratos de API e práticas de compartilhamento de conhecimento

Estratégia de Modernização: Avaliando Código Legado do .NET Framework

  • Análise de portfólio: classificar aplicativos por criticidade, complexidade e valor de negócio
  • Uso do .NET Upgrade Assistant e analisador de compatibilidade
  • Identificação de APIs obsoletas, dependências específicas da plataforma e lacunas em terceiros
  • Considerações sobre APIs específicas do Windows e migração do WCF
  • Criação de um roteiro de migração com priorização baseada em riscos

Migração Progressiva e Técnicas de Coexistência

  • Padrão Strangler Fig: substituição incremental de subsistemas legados
  • Migração API-first: expor domínios do .NET Framework via fachadas REST
  • Ponte baseada em mensagens com RabbitMQ, Azure Service Bus ou Kafka
  • Coexistência de banco de dados compartilhado e estratégias de versionamento de esquema
  • Execução do .NET Framework e .NET 8 lado a lado na mesma infraestrutura
  • Containerização de componentes modernos enquanto o legado permanece no IIS

Laboratório Prático de Migração e Revisão

  • Aplicação do Upgrade Assistant em um projeto legado representativo
  • Refatoração de um serviço Web Forms ou WCF em APIs ASP.NET Core
  • Implementação de DI, logging e tratamento centralizado de erros na solução migrada
  • Adição de autenticação e autorização à nova superfície de API
  • Verificação da coexistência por meio de testes de integração ponta a ponta
  • Revisão, perguntas e respostas (Q&A), e orientação para planejamento de modernização pós-formação

Requisitos

  • Experiência com programação C# e princípios de design orientado a objetos
  • Conhecimento básico de conceitos de desenvolvimento web (HTTP, HTML, CSS, JavaScript)
  • Compreensão básica de bancos de dados relacionais e SQL
  • A exposição prévia ao .NET Framework ou ASP.NET é útil, mas não obrigatória

Público-alvo

  • Desenvolvedores e arquitetos .NET preparados para modernizar aplicativos legados do .NET Framework
  • Engenheiros de software que estão ingressando em funções de desenvolvimento empresarial com .NET
  • Líderes técnicos responsáveis pelo planejamento de migração de plataforma e coexistência
  • Equipes de DevOps e infraestrutura que apoiam os ciclos de vida de aplicativos .NET
 21 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (2)

Próximas Formações Provisórias

Categorias Relacionadas