Schița de curs
Introducere în Platforma Modernă .NET
- Prezentare generală a runtime, SDK și platforma unificată .NET 8
- Comparație între evoluția .NET Framework, .NET Core și .NET 8+
- Structura proiectului, framework-uri țintă și elemente de bază ale multi-targeting
- Configurarea mediului de dezvoltare și a instrumentelor
C# Modern și Practici Orientate pe Viitor
- Records, setteri init-only și modele de imutabilitate
- Îmbunătățiri ale potrivirii de modele și expresii switch
- Tipuri de referință nullable și siguranță condusă de compilator
- Cele mai 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 codurilor pentru funcționalități C# 12/13 pe .NET 8
Fundamente ASP.NET Core și Inițializarea Aplicației
- Host builder, pipeline de middleware și ciclul de cerere
- API-uri minime vs API-uri bazate pe controller: 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
Proiectare și Implementare API REST
- Modelul de maturitate REST, modelarea resurselor și proiectarea URI
- Metode HTTP, coduri de stare și negociere de conținut
- Validare cerere, legare modele și integrare FluentValidation
- Strategii de versionare pentru API-uri publice și interne
- Documentare cu OpenAPI și Swagger UI
- Testare de integrare API cu TestServer și WebApplicationFactory
Injecție de Dependență Enterprise și Inversare de Control
- Injecție de constructor, durate de viață ale serviciilor și dependențe captive
- Modele decorator și fabrică cu containerul integrat
- Integrare Scrutor și biblioteci terțe de DI
- Înregistrare modulară a serviciilor și organizare bazată pe funcționalități
- Preocupări transversale prin middleware și filtre
Logare, Configurare și Gestionare Centralizată a Erorilor
- Logare structurată cu Microsoft.Extensions.Logging și Serilog
- Niveluri de log, scopuri, îmbogățire și configurare de sink
- Middleware de excepție și pipeline-uri globale de gestionare a erorilor
- ProblemDetails și răspunsuri de eroare conform RFC 7807
- Verificări de sănătate, telemetrie și agățări de observabilitate
- ID-uri de corelație și pregătire pentru urmărire distribuită
Arhitectura Software pentru Soluții Enterprise .NET
- Principii de arhitectură stratificată, hexagonală și curată
- Blocuri de construcție bazate pe design orientat pe domeniu în .NET
- Modele CQRS și mediator cu MediatR
- Modele de repository și unitate de lucru cu EF Core
- Arhitectură pe felii verticale pentru coeziunea funcționalităților
- 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
- Politici de autorizare, acces bazat pe claim-uri și protecție bazată pe resurse
- Implementare HTTPS, HSTS și middleware pentru antete securizate
- Sanitizare input, codare output și mitigare OWASP Top 10
- Limitare rate, politici CORS și gestionare token anti-falsificare
- Gestionare secretelor cu Azure Key Vault și rotație bazată pe mediu
Calitate, Întreținere și Cele Mai 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ă
- Documentare, contracte API și practici de împărtășire a cunoștințelor
Strategie de Modernizare: Evaluarea Codului Vechi .NET Framework
- Analiză portofoliu: clasificarea aplicațiilor după criticitate, complexitate și valoare de afaceri
- Utilizarea Asistentului de Upgrade .NET și a analizorului de compatibilitate
- Identificarea API-urilor învechite, dependențelor specifice platformei și lacunelor terțe
- API-uri specifice Windows și considerații de migrare WCF
- Crearea unei planuri de migrare cu prioritizare bazată pe risc
Tehnici de Migrare Progresivă și Coexistență
- Modelul Strangler Fig: înlocuirea incrementală a subsistemelor vechi
- Migrare bazată pe API: expunerea domeniilor .NET Framework prin fațade REST
- Punte bazată pe mesaje cu RabbitMQ, Azure Service Bus sau Kafka
- Strategii de coexistență și versionare a schemei bazelor de date partajate
- Rularea .NET Framework și .NET 8 în paralel în aceeaș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 DI, logare și gestionare centralizată a erorilor în soluția migrată
- Adăugarea autentificării și autorizării la noua suprafață API
- Verificarea coexistenței prin testare integrată end-to-end
- Recenzie, Q&A și îndrumare post-training pentru planificarea modernizării
Cerințe
- Experiență în programarea C# și principiile de design orientat pe obiecte
- Familiaritate cu conceptele 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 se pregătesc să modernizeze aplicații 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