Schița de curs
Introducere în Platforma Modernă .NET
- Prezentare generală a runtime-ului .NET 8, SDK și platformă unificată
- Comparație între .NET Framework, .NET Core și evoluția .NET 8+
- Structura proiectului, framework-uri țintă și noțiuni de bază despre multi-targeting
- Configurarea mediului de dezvoltare și a instrumentelor
C# Modern și Practici Orientate spre Viitor
- Records, init-only setters și modele de imutabilitate
- Îmbunătățiri ale pattern matching și expresii switch
- Tipuri de referință nullable și siguranță condusă de compilator
- Bune practici async/await și streaming eficient din punct de vedere al memoriei
- Matematică generică, abstracte statice în interfețe și API-uri orientate pe performanță
- Pregătirea bazelor de cod pentru caracteristicile C# 12/13 pe .NET 8
Fundamentele ASP.NET Core și Bootstrap Aplicației
- Host builder, pipeline de middleware și ciclul de viață al cererii
- API-uri minime vs API-uri bazate pe controlere: criterii de decizie
- Furnizori de configurație, setări specifice mediului și gestionarea secretelor
- Fișiere statice, rutare și convenții de endpoint
- Configurarea containerului de injecție de dependență și durate de viață ale serviciilor
Proiectarea și Implementarea API-urilor REST
- Model de maturitate REST, modelarea resurselor și proiectarea URI-urilor
- Metode HTTP, coduri de stare și negociere de conținut
- Validarea cererii, model binding și integrare FluentValidation
- Strategii de versionare pentru API-uri publice și interne
- Documentare cu OpenAPI și Swagger UI
- Testarea de integrare a API-urilor cu TestServer și WebApplicationFactory
Injecție de Dependență Enterprise și Inversiune de Control
- Injecție de constructor, durate de viață ale serviciilor și dependențe captive
- Modele decorator și factory cu containerul integrat
- Integrarea Scrutor și a bibliotecilor de injecție de dependență terțe
- Înregistrarea modulară a serviciilor și organizarea bazată pe caracteristici
- Preocupări transversale prin middleware și filtre
Logging, Configurare și Gestionare Centralizată a Erorilor
- Logging structurat cu Microsoft.Extensions.Logging și Serilog
- Niveluri de log, scopuri, îmbogățire și configurare de sink
- Middleware de excepții și pipeline-uri de gestionare globală a erorilor
- ProblemDetails și răspunsuri de eroare conforme cu RFC 7807
- Verificări de sănătate, telemetrie și cârlige de observabilitate
- ID-uri de corelație și pregătire pentru tracing distribuit
Arhitectura Software pentru Soluții Enterprise .NET
- Principii de arhitectură stratificată, hexagonală și clean architecture
- Blocuri de construcție ale designului orientat pe domeniu în .NET
- Modele CQRS și mediator cu MediatR
- Modele repository și unit-of-work cu EF Core
- Arhitectură pe felii verticale pentru coeziunea caracteristicilor
- Evaluarea compromisurilor între monolit, monolit modular și microservicii
Securitate pentru Aplicații Web și API-uri
- Scheme de autentificare: JWT, OAuth2, OpenID Connect și fluxuri bazate pe cookie-uri
- Politici de autorizare, acces bazat pe claims și garduri bazate pe resurse
- Impunere HTTPS, HSTS și middleware pentru antete securizate
- Sanitizarea intrărilor, codificarea ieșirilor și mitigarea OWASP Top 10
- Limitarea ratei, politici CORS și gestionarea tokenurilor anti-falsificare
- Gestionarea secretelor cu Azure Key Vault și rotația bazată pe mediu
Calitatea Codului, Mentenanța și Bune Practici
- Standarde de codare, EditorConfig și dotnet format
- Analiză statică cu Roslyn analyzers și integrare SonarQube
- Testare unitară cu xUnit, mocking cu Moq sau NSubstitute
- Testare de integrare și contract în pipeline-uri CI
- Tehnici de refactorizare pentru module vechi de lungă durată
- Documentație, contracte API și practici de împărtășire a cunoștințelor
Strategie de Modernizare: Evaluarea Codului Vechi .NET Framework
- Analiza portofoliului: clasificarea aplicațiilor după criticitate, complexitate și valoare de afaceri
- Utilizarea Asistentului de Upgrade .NET și a analizorului de compatibilitate
- Identificarea API-urilor depreciate, dependențelor specifice platformei și lacunelor terțe
- API-uri specifice Windows și considerații de migrare WCF
- Crearea unui plan de migrare cu prioritizare bazată pe risc
Tehnici de Migrare Progresivă și Coexistență
- Modelul Strangler Fig: înlocuirea incrementală a subsistemelor vechi
- Migrare API-first: expunerea domeniilor .NET Framework prin fațade REST
- Punte bazată pe mesaje cu RabbitMQ, Azure Service Bus sau Kafka
- Coexistența bazată pe baze de date partajate și strategii de versionare a schemelor
- Executarea .NET Framework și .NET 8 pe același infrastructură
- Containerizarea componentelor moderne lăsând vechile pe IIS
Laborator Practic de Migrare și Recenzie
- Aplicarea Asistentului de Upgrade la un proiect vechi reprezentativ
- Refactorizarea unui serviciu Web Forms sau WCF în API-uri ASP.NET Core
- Implementarea injecției de dependență, logging și gestionării centralizate a erorilor în soluția migrată
- Adăugarea autentificării și autorizării la noua suprafață API
- Verificarea coexistenței prin testare de integrare end-to-end
- Recenzie, întrebări și răspunsuri, și îndrumare post-training pentru planificarea modernizării
Cerințe
- Experiență în programarea C# și principiile de proiectare orientate pe obiecte
- Familiaritate cu concepte de dezvoltare web (HTTP, HTML, CSS, elemente de bază JavaScript)
- Înțelegere de bază a bazelor de date relaționale și SQL
- Expunere anterioară la .NET Framework sau ASP.NET este utilă, dar nu este obligatorie
Publicul țintă
- Dezvoltatori și arhitecți .NET care pregătesc modernizarea aplicațiilor vechi .NET Framework
- Ingineri software care trec în roluri de dezvoltare enterprise .NET
- Lideri tehnici responsabili de migrarea platformei și planificarea coexistenței
- Personal DevOps și infrastructură care sprijină ciclurile de viață ale aplicațiilor .NET
Mărturii (2)
Interactivitate și soluții de cod în timp real
Eduard-Emanuel Zaharia - Kruk Italia
Curs - Advanced Blazor
Tradus de catre o masina
șansa de a lucra în mod practic și răbdarea instrctorului
sheena - Te Manawa Taki Trauma System
Curs - Visual Studio 2022 IDE
Tradus de catre o masina