Programa do Curso
Introdução à Plataforma .NET Moderna
- .NET 8 runtime, SDK e visão geral da plataforma unificada
- Comparação da evolução do .NET Framework, .NET Core e .NET 8+
- Estrutura do projeto, frameworks-alvo e noções básicas de multi-targeting
- Configuração do ambiente de desenvolvimento e ferramentas
C# Moderno e Práticas Linguísticas Orientadas para o Futuro
- Records, setters init-only e padrões de imutabilidade
- Melhorias no pattern matching e expressões switch
- Tipos de referência anuláveis e segurança impulsionada pelo compilador
- Boas práticas de async/await e streaming eficiente em memória
- Matemática genérica, abstracts estáticos em interfaces e APIs orientadas para a performance
- Preparar bases de código para características C# 12/13 no .NET 8
Fundamentos do ASP.NET Core e Inicialização da Aplicação
- Host builder, pipeline de middleware e ciclo de vida do pedido
- Minimal APIs vs APIs baseadas em controladores: critérios de decisão
- Providers de configuração, definições específicas para o ambiente e gestão de segredos
- Ficheiros estáticos, roteamento e convenções de endpoint
- Configuração do container de injeção de dependência e ciclos de vida dos serviços
Design e Implementação de APIs REST
- Modelo de maturidade REST, modelação de recursos e design URI
- Métodos HTTP, códigos de estado e negociação de conteúdo
- Validação de pedidos, model binding e integração com FluentValidation
- Estratégias de versioning para APIs públicas e internas
- Documentação com OpenAPI e Swagger UI
- Testes de integração de APIs com TestServer e WebApplicationFactory
Injeção de Dependência Empresarial e Inversão de Controlo
- Injeção via construtor, ciclos de vida dos serviços e dependências captivas
- Padrões Decorator e Factory com o container integrado
- Integração do Scrutor e bibliotecas DI de terceiros
- Registo modular de serviços e organização baseada em funcionalidades
- Preocupações transversais (cross-cutting concerns) via middleware e filtros
Registo, Configuração e Tratamento Centralizado de Erros
- Registo estruturado com Microsoft.Extensions.Logging e Serilog
- Níveis de registo, escopos, enriquecimento e configuração de sinks
- Middleware de exceção e pipelines globais de tratamento de erros
- ProblemDetails e respostas de erro conformes com RFC 7807
- Verificações de saúde (health checks), telemetria e ganchos de observabilidade
- IDs de correlação e preparação para rastreamento distribuído
Arquitetura de Software para Soluções .NET Empresariais
- Princípios de arquitetura em camadas, hexagonal e clean architecture
- Componentes fundamentais do Domain-Driven Design em .NET
- Padrões CQRS e mediator com MediatR
- Padrões Repository e unit-of-work com EF Core
- Arquitetura vertical slice para coesão funcional
- Avaliação dos trade-offs entre monolito, modular monolith e microserviç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 guardas baseados em recursos
- Imposição de HTTPS, HSTS e middleware de cabeçalhos seguros
- Sanitização de input, codificação de output e mitigação das Top 10 do OWASP
- Limitação de taxa (rate limiting), políticas CORS e gestão de tokens anti-falsificação
- Gestão de segredos com Azure Key Vault e rotação impulsionada pelo ambiente
Qualidade do Código, Manutenibilidade e Boas Práticas
- Padrões de codificação, EditorConfig e dotnet format
- Análise estática com analisadores Roslyn e integração SonarQube
- Testes unitários com xUnit, mock com Moq ou NSubstitute
- Testes de integração e contrato em pipelines CI
- Técnicas de refatoração para módulos legados de longa duração
- Documentação, contratos de API e práticas de partilha de conhecimento
Estratégia de Modernização: Avaliar Código Legado do .NET Framework
- Análise de portfólio: classificar aplicações por criticidade, complexidade e valor empresarial
- Utilização do .NET Upgrade Assistant e analizador de compatibilidade
- Identificação de APIs obsoletas, dependências específicas da plataforma e lacunas em terceiros
- Considerações de migração para APIs específicas do Windows e WCF
- Criação de um roteiro de migração com priorização baseada no risco
Técnicas de Migração Progressiva e Coexistência
- Padrão Strangler Fig: substituir incrementalmente subsystems 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 bases de dados partidas e estratégias de versionamento de schema
- Execução side-by-side do .NET Framework e .NET 8 na mesma infraestrutura
- Containeirização de componentes modernos enquanto se mantém o legado no IIS
Laboratório Prático de Migração e Revisão
- Aplicação do Upgrade Assistant a um projeto legado representativo
- Refatoração de um serviço Web Forms ou WCF para APIs ASP.NET Core
- Implementação de DI, registo e tratamento centralizado de erros na solução migrada
- Adição de autenticação e autorização à nova superfície da API
- Verificação da coexistência através de testes de integração end-to-end
- Revisão, Q&A e orientação para planeamento de modernização pós-formação
Requisitos
- Experiência com programação em C# e princípios de design orientado a objetos
- Familiaridade com conceitos de desenvolvimento web (HTTP, HTML, CSS, noções básicas de JavaScript)
- Conhecimento básico de bases de dados relacionais e SQL
- Experiência prévia com .NET Framework ou ASP.NET é útil, mas não obrigatória
Público-Alvo
- Programadores e arquitetos .NET que se preparam para modernizar aplicações legadas do .NET Framework
- Engenheiros de software que transitam para funções de desenvolvimento empresarial em .NET
- Líderes técnicos responsáveis pelo planeamento da migração de plataformas e coexistência
- Equipa DevOps e infraestrutura que suporte os ciclos de vida de aplicações .NET
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 3900 € + VAT*
Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes
Testemunhos de Clientes (2)
Interatividade e soluções de código sob demanda
Eduard-Emanuel Zaharia - Kruk Italia
Curso - Advanced Blazor
Máquina Traduzida
oportunidade de prática hands-on e a paciência do instrutor
sheena - Te Manawa Taki Trauma System
Curso - Visual Studio 2022 IDE
Máquina Traduzida