Intrati in legatura
 Durata 35 ore

Schița de curs

De la competențe lingvistice la design de soluții

  • Caracteristici avansate în C# și implicațiile lor asupra design-ului.
  • Recuperarea intenției de design din codul existent.

Analiza cerințelor și modelarea de domeniu

  • Use case-uri, user stories și criterii de acceptanță.
  • Modelul de domeniu și limbajul ubicuu.

Principii de design software

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

Pattern-uri de design pentru aplicații .NET

  • Selectarea pattern-urilor generative, structurale și comportamentale.
  • Pattern-uri și anti-pattern-uri în codul existent.

Stiluri arhitecturale și luarea deciziilor tehnice

  • Compararea arhitecturii stratificate, hexagonale și clean architecture.
  • Decizii arhitecturale documentate și analiza trade-off-urilor.

Planificarea structurii soluției

  • Organizarea soluției și a proiectelor pentru codebase-uri mari.
  • Monolit modular vs. limite bazate pe servicii.

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

  • Pattern matching, records și tipuri de referințe nullable.
  • Generice, LINQ și compoziție funcțională.

Tratarea excepțiilor, logging și observabilitate

  • Strategia de excepții și contracte de eroare.
  • Logging structurat, corelație și health checks.

Reflecție, atribute și metaprogramare

  • Design bazat pe atribute și use case-uri pentru reflecție.
  • Source generators și generarea de cod la compilare.

Fundamente ASP.NET Core

  • Modelul de hosting, dependency injection și configurare.
  • Conduita cererilor, middleware și filtre.

Design de REST API-uri

  • 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 managementul secretelor.

Threat modeling și design securizat

  • Modelare STRIDE și limitele de încredere.
  • Review de design securizat înainte de implementare.

Acces la date cu Entity Framework Core

  • Modelarea entităților și a relațiilor.
  • Ciclul de viață al DbContext și strategia de migrații.

Performanța interogărilor și arhitectura de date

  • Strategii de încărcare și capcanele eager loading-ului.
  • Tranzacții, tokeni de concurență și evitarea EF (bypassing).

Concurență și programare asincronă

  • Task-uri, TPL și capcanele async/await.
  • Sincronizare, anulare și siguranța thread-urilor.

Optimizarea performanței

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

Strategie de testare pe straturi

  • Limitele dintre testele unitare, de integrare și end-to-end.
  • Arhitectură testabilă și dubluri de test.

Deploy și gatarea operațională

  • Containere, configurare și pipeline-uri CI/CD.
  • Diagnosticare în producție și siguranța release-urilor.

Capstone: Review de design și implementare

  • Review arhitectural al unei aplicații de caz.
  • Implementarea și refactoring-ul unei felii de funcționalitate.

Cerințe

  • Experiență în programare în C#
  • Conștiințe practice de programare orientată pe obiecte
  • Conștiințe de bază în SQL și baze de date relaționale

PUBLIC

  • Dezvoltatori .NET
  • Ingineri de software și lead tehnici
  • Dezvoltatori care trec la roluri de design de aplicații

Numărul de participanți


Pret per participant

Mărturii (3)

Cursuri viitoare

Categorii înrudite