Programa do Curso
Introdução à Plataforma .NET Moderna
- Visão geral do runtime, SDK e plataforma unificada do .NET 8
- Comparação da evolução do .NET Framework, .NET Core e .NET 8+
- Estrutura de projeto, estruturas-alvo e noções de multi-targeting
- Definição do ambiente de desenvolvimento e ferramentas
C# Moderno e Práticas Linguísticas Futuras
- Registos (records), setters init-only e padrões de imutabilidade
- Melhorias na correspondência de padrões (pattern matching) e expressões switch
- Tipos de referência anuláveis (nullable reference types) e segurança dirigida pelo compilador
- Boas práticas de async/await e streaming eficiente em termos de memória
- Matemática genérica, abstrações estáticas em interfaces e APIs orientadas ao desempenho
- Preparação de bases de código para funcionalidades C# 12/13 no .NET 8
Fundamentos do ASP.NET Core e Bootstrap da Aplicação
- Host builder, pipeline de middleware e ciclo de vida do pedido
- APIs mínimas vs. APIs baseadas em controladores: critérios de decisão
- Provedores de configuração, definições específicas do ambiente e gestão de segredos
- Arquivos estáticos, encaminhamento (routing) e convenções de endpoints
- Configuração do contentor de injeção de dependências e tempos de vida dos serviços
Design e Implementação de APIs REST
- Modelo de maturidade REST, modelação de recursos e design de URIs
- Métodos HTTP, códigos de estado e negociação de conteúdo
- Validação de pedidos, ligação de modelos (model binding) e integração com FluentValidation
- Estratégias de versionamento 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ências Empresarial e Inversão de Controlo
- Injeção por construtor, tempos de vida dos serviços e dependências capturadas
- Padrões de decorador e fábrica com o contentor integrado
- Integração com Scrutor e bibliotecas de DI de terceiros
- Registo modular de serviços e organização baseada em funcionalidades
- Preocupações transversais (cross-cutting concerns) via middleware e filtros
Registos de Eventos, Configuração e Tratamento Centralizado de Erros
- Registos estruturados com Microsoft.Extensions.Logging e Serilog
- Níveis de registo, escopos, enriquecimento e configuração de sinks
- Middleware de exceções e pipelines globais de tratamento de erros
- ProblemDetails e respostas de erro conformes com o RFC 7807
- Verificações de saúde, telemetria e pontos de observabilidade
- IDs de correlação e preparação para rastro distribuído
Arquitetura de Software para Soluções .NET Empresariais
- Princípios de arquitetura por camadas, hexagonal e limpa (clean architecture)
- Blocos de construção do design orientado a domínio (DDD) no .NET
- Padrões CQRS e mediador com MediatR
- Padrões de repositório e unit-of-work com EF Core
- Arquitetura de fatias verticais (vertical slice) para coesão de funcionalidades
- Avaliação dos trade-offs entre monólito, monólito modular 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 baseadas em recursos
- Forçação de HTTPS, HSTS e middleware de cabeçalhos seguros
- Sanitização de entradas, codificação de saídas e mitigação dos OWASP Top 10
- Limitação de taxa (rate limiting), políticas CORS e gestão de tokens anti-forgery
- Gestão de segredos com Azure Key Vault e rotação dirigida pelo ambiente
Qualidade do Código, Mantibilidade e Boas 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, mockagem com Moq ou NSubstitute
- Testes de integração e de contrato em pipelines de CI
- Técnicas de refactoring 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: Avaliação de Código Legado do .NET Framework
- Análise do portefólio: classificar aplicações por criticidade, complexidade e valor de negócio
- Utilização do .NET Upgrade Assistant e analisador de compatibilidade
- Identificação de APIs descontinuadas, dependências específicas da plataforma e lacunas de terceiros
- APIs específicas do Windows e considerações de migração de WCF
- Criação de um roteiro de migração com priorização baseada em risco
Técnicas de Migração Progressiva e Coexistência
- Padrão Strangler Fig: substituição incremental de subsistemas legados
- Migração API-first: exposição de domínios do .NET Framework através de fachadas REST
- Ponte baseada em mensagens com RabbitMQ, Azure Service Bus ou Kafka
- Coexistência de base de dados partilhada e estratégias de versionamento de esquema
- Execução do .NET Framework e .NET 8 em paralelo na mesma infraestrutura
- Containerização de componentes modernos, mantendo o legado no IIS
Laboratório Prático de Migração e Revisão
- Aplicação do Upgrade Assistant a um projeto legado representativo
- Refactoring de um serviço Web Forms ou WCF para APIs ASP.NET Core
- Implementação de DI, registos de eventos 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 através de testes de integração de ponta a ponta
- Revisão, perguntas e respostas e orientação para planeamento de modernização pós-formação
Requisitos
- Experiência em programação C# e princípios de design orientado a objetos
- Familiaridade com conceitos de desenvolvimento web (HTTP, HTML, CSS, noções de JavaScript)
- Compreensão básica de bases de dados relacionais e SQL
- Exposição prévia ao .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 a ingressar em papéis de desenvolvimento .NET empresarial
- Líderes técnicos responsáveis pelo planeamento de migração de plataforma e coexistência
- Equipa de DevOps e infraestrutura que apoia os ciclos de vida de aplicações .NET
Formação Empresarial Personalizada
Soluções de formação concebidas 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, formação online em direto, 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