Contattataci
 Durata 35 ore

Struttura del corso

Dalle Competenze Linguistiche al Design della Soluzione

  • Funzionalità avanzate di C# e le loro implicazioni progettuali.
  • Ripristino dell'intento di progettazione dal codice esistente.

Analisi dei Requisiti e Modella­gio del Dominio

  • Casi d'uso, user story e criteri di accettazione.
  • Modelli di dominio e linguaggio ubiquo.

Principi di Progettazione del Software

  • Principi SOLID applicati alle soluzioni .NET.
  • Coupling, coesione e direzione delle dipendenze.

Pattern di Progettazione per Applicazioni .NET

  • Selezione di pattern creativi, strutturali e comportamentali.
  • Pattern e anti-pattern nel codice esistente.

Stili di Architettura e Prendi­mento di Decisioni Tecniche

  • Confronto tra architettura a strati, esagonale e clean architecture.
  • Registri delle decisioni architetturali e analisi dei trade-off.

Pianificazione della Struttura della Soluzione

  • Organizzazione di soluzioni e progetti per codebase di grandi dimensioni.
  • Monolite modulare contro confini orientati ai servizi.

C# Moderno per Codice Manutenibile

  • Pattern matching, record e tipi di riferimento nullabili.
  • Generics, LINQ e composizione funzionale.

Gestione delle Eccezioni, Log e Osservabilità

  • Strategia delle eccezioni e contratti di errore.
  • Logging strutturato, correlazione e health check.

Riflessione, Attributi e Metaprogrammazione

  • Design guidato da attributi e casi d'uso della riflessione.
  • Source generator e generazione di codice in fase di compilazione.

Fondamenti di ASP.NET Core

  • Modello di hosting, iniezione delle dipendenze e configurazione.
  • Pipeline delle richieste, middleware e filtri.

Progettazione di API REST

  • Modellazione delle risorse e semantica HTTP.
  • Versionamento, validazione e risposte di errore.
  • Contratti API con OpenAPI.

Protezione delle Applicazioni .NET

  • Autenticazione e autorizzazione con OpenID Connect.
  • Autorizzazione basata su policy e gestione dei segreti.

Modella­gio delle Minacce e Design Sicuro

  • Modellamento STRIDE e confini di fiducia.
  • Rivedere la sicurezza del design prima dell'implementazione.

Accesso ai Dati con Entity Framework Core

  • Modellazione di entità e relazioni.
  • Ciclo di vita del DbContext e strategia di migrazione.

Prestazioni delle Query e Architettura dei Dati

  • Strategie di caricamento e trappole dell'eager loading.
  • Transazioni, token di concorrenza e bypass di EF.

Concorrenza e Programmazione Asincrona

  • Task, TPL e trappole di async/await.
  • Sincronizzazione, cancellazione e thread safety.

Ottimizzazione delle Prestazioni

  • Profiling e benchmarking con BenchmarkDotNet.
  • Memoria, allocazioni e garbage collection.
  • Strategie di caching e test di carico.

Strategia di Testing tra gli Strati

  • Confini tra test unitari, di integrazione e end-to-end.
  • Architettura testabile e test double.

Deployment e Prontezza Operativa

  • Container, configurazione e pipeline CI/CD.
  • Diagnostica in produzione e sicurezza del rilascio.

Capstone: Revisione del Design e Implementazione

  • Revisione architetturale di un'applicazione di esempio.
  • Implementazione e refactoring di una fetta di funzionalità.

Requisiti

  • Esperienza nella programmazione con C#
  • Conoscenza operativa della programmazione orientata agli oggetti
  • Conoscenza base di SQL e database relazionali

Pubblico di Riferimento

  • Sviluppatori .NET
  • Ingegneri del software e technical lead
  • Sviluppatori che si muovono verso ruoli di progettazione applicativa

Numero di Partecipanti


Prezzo per partecipante

Recensioni (4)

Corsi in Arrivo

Categorie relative