Contattataci

Struttura del corso

Introduzione alla Piattaforma .NET Moderna

  • Runtime, SDK e panoramica della piattaforma unificata di .NET 8
  • Confronto tra l'evoluzione di .NET Framework, .NET Core e .NET 8+
  • Struttura del progetto, framework target e basi del multi-targeting
  • Configurazione dell'ambiente di sviluppo e degli strumenti

C# Moderno e Pratiche Linguistiche Orientate al Futuro

  • Records, setter solo in lettura (init-only) e pattern di immutabilità
  • Miglioramenti del pattern matching ed espressioni switch
  • Nullable reference types e sicurezza guidata dal compilatore
  • Best practice async/await e streaming efficiente in termini di memoria
  • Generic math, static abstracts nelle interfacce e API orientate alle prestazioni
  • Preparazione delle codebase per le funzionalità C# 12/13 su .NET 8

Fondamenti di ASP.NET Core e Avvio dell'Applicazione

  • Host builder, pipeline middleware e ciclo di vita della richiesta
  • Minimal APIs vs API basate su controller: criteri decisionali
  • Provider di configurazione, impostazioni specifiche per ambiente e gestione dei segreti
  • File statici, routing e convenzioni degli endpoint
  • Configurazione del contenitore dependency injection e vitaservice (service lifetimes)

Progettazione e Implementazione delle API REST

  • Modello di maturità REST, modellazione delle risorse e progettazione URI
  • Methdos HTTP, codici di stato e negoziazione dei contenuti
  • Validazione delle richieste, model binding e integrazione con FluentValidation
  • Strategie di versioning per API pubbliche e interne
  • Documentazione con OpenAPI e Swagger UI
  • Test di integrazione delle API con TestServer e WebApplicationFactory

Dependency Injection Enterprise e Inversion of Control

  • Iniezione del costruttore, service lifetimes e dipendenze captive
  • Pattern decorator e factory con il contenitore integrato
  • Integrazione di Scrutor e librerie DI di terze parti
  • Registrazione modulare dei servizi e organizzazione basata sulle funzionalità
  • Aree trasversali (cross-cutting concerns) tramite middleware e filtri

Logging, Configurazione e Gestione Centralizzata degli Errori

  • Logging strutturato con Microsoft.Extensions.Logging e Serilog
  • Livelli di log, scope, arricchimento (enrichment) e configurazione dei sink
  • Middleware per le eccezioni e pipeline globali di gestione degli errori
  • ProblemDetails e risposte agli errori conformi a RFC 7807
  • Health check, telemetria e hook di osservabilità
  • ID di correlazione e preparazione al distributed tracing

Architettura del Software per Soluzioni .NET Enterprise

  • Principi dell'architettura a strati, esagonale (hexagonal) e pulita (clean architecture)
  • Blocchi costitutivi del Domain-Driven Design in .NET
  • Pattern CQRS e Mediator con MediatR
  • Pattern Repository e Unit of Work con EF Core
  • Architettura Vertical Slice per la coesione delle funzionalità
  • Valutazione dei compromessi tra monolite, monolite modulare e microservizi

Sicurezza per Applicazioni Web e API

  • Schemi di autenticazione: JWT, OAuth2, OpenID Connect e flussi basati su cookie
  • Policies di autorizzazione, accesso basato su claim e guardie basate sulle risorse
  • Applicazione HTTPS, HSTS e middleware per gli header sicuri
  • Sanificazione degli input, codifica dell'output e mitigazione OWASP Top 10
  • Rate limiting, politiche CORS e gestione dei token antifalsificazione (anti-forgery)
  • Gestione dei segreti con Azure Key Vault e rotazione guidata dall'ambiente

Qualità del Codice, Manutentabilità e Best Practices

  • Standard di codifica, EditorConfig e dotnet format
  • Analisi statica con analyzer Roslyn e integrazione con SonarQube
  • Test unitari con xUnit, mocking con Moq o NSubstitute
  • Test di integrazione e dei contratti nelle pipeline CI
  • Tecniche di refactoring per moduli legacy di lunga durata
  • Documentazione, contratti API e pratiche di condivisione della conoscenza

Strategia di Modernizzazione: Valutazione del Codice Legacy .NET Framework

  • Analisi del portafoglio: classificare le applicazioni per criticità, complessità e valore aziendale
  • Utilizzo di .NET Upgrade Assistant e dell'analizzatore di compatibilità
  • Identificazione delle API deprecate, dipendenze specifiche della piattaforma e lacune di terze parti
  • API specifiche di Windows e considerazioni per la migrazione WCF
  • Creazione di una roadmap di migrazione con prioritizzazione basata sui rischi

Tecniche di Migrazione Progressiva e Coesistenza

  • Pattern Strangler Fig: sostituzione incrementale dei sottosistemi legacy
  • Migrazione API-first: esposizione dei domini .NET Framework tramite facciate REST
  • Pontaggio basato sui messaggi con RabbitMQ, Azure Service Bus o Kafka
  • Coesistenza del database condiviso e strategie di versioning dello schema
  • Esecuzione side-by-side di .NET Framework e .NET 8 nella stessa infrastruttura
  • Containerizzazione dei componenti moderni mentre il legacy rimane su IIS

Laboratorio Pratico di Migrazione e Revisione

  • Applicazione dell'Upgrade Assistant a un progetto legacy rappresentativo
  • Refactoring di un servizio Web Forms o WCF in API ASP.NET Core
  • Implementazione di DI, logging e gestione centralizzata degli errori nella soluzione migrata
  • Aggiunta di autenticazione e autorizzazione alla nuova superficie API
  • Verifica della coesistenza tramite test di integrazione end-to-end
  • Revisione, Q&A e guida alla pianificazione della modernizzazione post-formazione

Requisiti

  • Esperienza con la programmazione in C# e i principi del design orientato agli oggetti
  • Conoscenza dei concetti di sviluppo web (HTTP, HTML, CSS, nozioni base di JavaScript)
  • Comprensione di base dei database relazionali e SQL
  • Una precedente esposizione a .NET Framework o ASP.NET è utile ma non obbligatoria

Target

  • Sviluppatori e architetti .NET che si preparano a modernizzare applicazioni legacy .NET Framework
  • Ingegneri del software che entrano in ruoli di sviluppo enterprise .NET
  • Leader tecnici responsabili della migrazione della piattaforma e della pianificazione della coesistenza
  • Personale DevOps e infrastrutture che supporta il ciclo di vita delle applicazioni .NET
 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative