Schița de curs
Introducere în Platforma Modernă .NET
- Prezentare generală a runtime-ului .NET 8, SDK și platforma unificată
- Comparație între evoluția .NET Framework, .NET Core și .NET 8+
- Structura proiectului, framework-uri țintă și elemente de bază ale multi-targeting-ului
- Configurarea mediului de dezvoltare și a instrumentelor
Practici Moderne și Orientate pe Viitor în C#
- Records, init-only setters și modele de imutabilitate
- Îmbunătățiri ale pattern matching-ului și expresii switch
- Tipuri de referință nullable și siguranța condusă de compilator
- Cele mai bune practici pentru 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 Inițializarea 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 configurare, setări specifice mediului și gestionarea secretelor
- Fișiere statice, rutare și convenții de endpoint
- Configurarea containerului de injecție de dependențe și durate de viață ale serviciilor
Proiectarea și Implementarea API-urilor REST
- Modelul de maturitate REST, modelarea resurselor și proiectarea URI-urilor
- Metode HTTP, coduri de stare și negociere de conținut
- Validarea cererii, model binding și integrarea 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ția de Dependențe Enterprise și Inversarea Controlului
- Injecție de dependențe prin constructor, durate de viață ale serviciilor și dependențe captive
- Modele de decorator și fabrică cu containerul integrat
- Integrarea Scrutor și a altor biblioteci de DI
- Înregistrarea modulară a serviciilor și organizarea bazată pe funcționalități
- Preocupări transversale prin middleware și filtre
Logging, Configurare și Gestionare Centralizată a Erorilor
- Logging structurat cu Microsoft.Extensions.Logging și Serilog
- Niveluri de logging, scope-uri, îmbogățire și configurare de sink
- Middleware de excepții și pipeline-uri de gestionare globală 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 tracing distribuit
Arhitectura Software pentru Soluții Enterprise .NET
- Principii de arhitectură stratificată, hexagonală și clean architecture
- Blocuri de construcție din designul orientat pe domeniu în .NET
- Modele CQRS și mediator cu MediatR
- Modele de repository și unit-of-work cu EF Core
- Arhitectura 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-uri
- Politici de autorizare, acces bazat pe claims și garduri de resurse
- Forțarea HTTPS, HSTS și middleware pentru anteturile securizate
- Sanitizarea input-ului, codificarea output-ului ș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, Menținerea și Cele Mai Bune Practici
- Standarde de codare, EditorConfig și dotnet format
- Analiză statică cu Roslyn analyzers și integrarea SonarQube
- Testare unitară cu xUnit, mocking cu Moq sau NSubstitute
- Testare de integrare și contract în pipeline-uri CI
- Tehnici de refactorizare pentru module legacy de lungă durată
- Documentație, contracte API și practici de partajare a cunoștințelor
Strategie de Modernizare: Evaluarea Codului Legacy .NET Framework
- Analiza portofoliului: clasificarea aplicațiilor după criticitate, complexitate și valoare de afaceri
- Utilizarea .NET Upgrade Assistant și a analizorului de compatibilitate
- Identificarea API-urilor învechite, dependențelor specifice platformei și lacunelor de la terți
- Considerații privind migrarea API-urilor specifice Windows și WCF
- Crearea unui plan de migrare cu prioritizare bazată pe risc
Tehnici de Migrare Progresivă și Coexistență
- Modelul Strangler Fig: înlocuirea incrementală a subsistemelor legacy
- Migrare bazată pe API: expunerea domeniilor .NET Framework prin fațade REST
- Legături bazate pe mesaje cu RabbitMQ, Azure Service Bus sau Kafka
- Coexistența bazată pe baze de date partajate și strategii de versionare a schemei
- Rulează .NET Framework și .NET 8 în paralel pe aceeași infrastructură
- Containerizarea componentelor moderne lăsând legacy pe IIS
Laborator Practic de Migrare și Recenzie
- Aplicarea Upgrade Assistant la un proiect legacy reprezentativ
- Refactorizarea unui serviciu Web Forms sau WCF în API-uri ASP.NET Core
- Implementarea injecției de dependențe, logging-ului ș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, Q&A și îndrumare pentru planificarea post-training a modernizării
Cerințe
- Experiență în programarea C# și principiile de proiectare orientată 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
Public țintă
- Dezvoltatori și arhitecți .NET care pregătesc modernizarea aplicațiilor legacy .NET Framework
- Ingineri software care trec în roluri de dezvoltare enterprise .NET
- Lideri tehnici responsabili de planificarea migrării și coexistenței platformelor
- 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