Intrati in legatura
 Durata 35 ore

Schița de curs

De la competențe în limbaj la design de soluții

  • Funcționalități avansate în C# și implicațiile lor asupra design-ului.
  • Recuperarea intenției de design din cod existent.

Analiza cerințelor și modelarea de domeniu

  • Cazuri de utilizare (use cases), user stories și criterii de acceptanță.
  • Modele de domeniu și limbaj universal (ubiquitous language).

Principii de design software

  • Aplicarea principiilor SOLID în soluțiile .NET.
  • Cuplaj, coeziune și direcția dependențelor.

Tipare de design pentru aplicații .NET

  • Selectarea tiparelor creaționale, structurale și comportamentale.
  • Tipare (patterns) și anti-patterns în cod existent.

Stiluri arhitecturale și luarea deciziilor tehnice

  • Comparație între arhitectura în straturi, arhitectura hexagonală și clean architecture.
  • Registre de decizii arhitecturale (ADR) și analiza compromisurilor (trade-offs).

Planificarea structurii soluției

  • Organizarea soluției și a proiectelor pentru codebases mari.
  • Monolit modular versus granițe orientate pe servicii.

C# modern pentru cod ușor de întreținut

  • Pattern matching, records și nullable reference types.
  • Generice, LINQ și compoziție funcțională.

Tratarea excepțiilor, logarea și observabilitatea

  • Strategia de gestionare a excepțiilor și contractele de eroare.
  • Logare structurată, corelație și health checks.

Reflecție, atribute și metaprogramare

  • Design condus de atribute și cazuri de utilizare a reflecției.
  • Source generators și generarea de cod la compilare.

Fundamente ASP.NET Core

  • Modelul de hosting, injecția de dependențe și configurarea.
  • Conducta de cereri (request pipeline), middleware și filtre.

Design-ul API-urilor REST

  • Modelarea resurselor și semantica HTTP.
  • Versionare, validare și răspunsuri la erori.
  • Contracte de API cu OpenAPI.

Securizarea aplicațiilor .NET

  • Autentificare și autorizare cu OpenID Connect.
  • Autorizare bazată pe politici și gestionarea secretelor.

Threat modeling și design securizat

  • Modelare STRIDE și granițele de încredere.
  • Review al design-ului securizat înainte de implementare.

Acces la date cu Entity Framework Core

  • Modelarea entităților și a relațiilor.
  • Duration de viață a DbContext și strategia de migrări.

Performanța interogărilor și arhitectura de date

  • Strategii de încărcare și capcanele eager loading.
  • Transacții, tokeni de concurență și ocolirea EF când este necesar.

Concurență și programare asincronă

  • Task-uri, TPL și capcanele async/await.
  • Sincronizare, anulare și siguranța firelor (thread safety).

Optimizarea performanței

  • Profiling și benchmarking cu BenchmarkDotNet.
  • Memorie, alocări și garbage collection.
  • Strategii de caching și testare de sarcină (load testing).

Strategia de testare pe toate straturile

  • Granițele testelor unitare, de integrare și end-to-end.
  • Arhitectură testabilă și dubluri de test (test doubles).

Deployment și gatație operațională

  • Containere, configurare și pipeline-uri CI/CD.
  • Diagnosticare în producție și siguranța lansării (release safety).

Proiect final: Review de design și implementare

  • Review arhitectural al unei aplicații de caz.
  • Implementarea și refactorarea unei felii de funcționalitate (feature slice).

Cerințe

  • Experiență în programare cu C#
  • Cunoștințe de lucru cu programarea orientată pe obiecte
  • Cunoștințe de bază în SQL și baze de date relaționale

Public țintă

  • Dezvoltatori .NET
  • Ingineri software și technical leads
  • Dezvoltatori care trec în roluri de design de aplicații

Numărul de participanți


Pret per participant

Mărturii (3)

Cursuri viitoare

Categorii înrudite