Bądźmy w kontakcie
 Czas trwania 35 godzin

Plan Szkolenia

Od umiejętności językowych do projektowania rozwiązań

  • Zaawansowane funkcje języka C# i ich wpływ na architekturę.
  • Rekonstrukcja zamierzeń projektowych z istniejącego kodu.

Analiza wymagań i modelowanie domenowe

  • Scenariusze użycia, user stories oraz kryteria akceptacji.
  • Modele domenowe i uniwersalny język (ubiquitous language).

Zasady projektowania oprogramowania

  • Zastosowanie zasad SOLID w rozwiązaniach .NET.
  • Kuplacja, spójność i kierunek zależności.

Wzorce projektowe dla aplikacji .NET

  • Dobór wzorców kreacyjnych, strukturalnych i behawioralnych.
  • Wzorce i antywzorce w istniejącym kodzie.

Style architektoniczne i podejmowanie decyzji technicznych

  • Porównanie architektury warstwowej, heksagonalnej i czystej (Clean Architecture).
  • Rejestry decyzji architektonicznych (ADR) i analiza kompromisów.

Planowanie struktury rozwiązania

  • Organizacja rozwiązań i projektów dla dużych baz kodu.
  • Monolity modułowe w porównaniu z granicami usług (service-oriented boundaries).

Nowoczesne C# dla kodu łatwego w utrzymaniu

  • Dopasowywanie wzorców (pattern matching), rekordy (records) i typy referencyjne nullability.
  • Typy generyczne, LINQ i kompozycja funkcjonalna.

Obsługa wyjątków, logowanie i obserwowalność

  • Strategia obsługi wyjątków i kontrakty błędów.
  • Logowanie strukturalne, korelacja i testy stanu zdrowia (health checks).

Refleksja, atrybuty i metaprogramowanie

  • Projektowanie oparte na atrybutach i przypadki użycia refleksji.
  • Generatory kodu w czasie kompilacji (source generators).

Podstawy ASP.NET Core

  • Model hostingu, wstrzykiwanie zależności i konfiguracja.
  • Przepływ żądań (request pipeline), middleware i filtry.

Projektowanie interfejsów REST API

  • Modelowanie zasobów i semantyka HTTP.
  • Wersjonowanie, walidacja i odpowiedzi na błędy.
  • Kontrakty API z użyciem OpenAPI.

Zabezpieczanie aplikacji .NET

  • Uwierzytelnianie i autoryzacja z użyciem OpenID Connect.
  • Autoryzacja oparta na zasadach (policy-based) i zarządzanie sekretami.

Modelowanie zagrożeń i bezpieczne projektowanie

  • Modelowanie STRIDE i granice zaufania.
  • Przegląd projektowy pod kątem bezpieczeństwa przed implementacją.

Dostęp do danych w Entity Framework Core

  • Modelowanie encji i relacji.
  • Czas życia kontekstu danych (DbContext) i strategia migracji.

Wydajność zapytań i architektura danych

  • Strategie wczytywania danych i pułapki ładowania zaplanowanego (eager loading).
  • Transakcje, znaczniki współbieżności i omijanie EF w razie potrzeby.

Współbieżność i programowanie asynchroniczne

  • Taski, TPL i pułapki async/await.
  • Synchronizacja, anulowanie operacji i bezpieczeństwo wątków.

Optymalizacja wydajności

  • Profilowanie i testowanie wydajności z użyciem BenchmarkDotNet.
  • Pamięć, alokacje i zbiórka śmieci (garbage collection).
  • Strategie cache i testy obciążeniowe.

Strategia testowania na różnych warstwach

  • Granice testów jednostkowych, integracyjnych i końcowych (end-to-end).
  • Architektura testowalna i podwójniki testowe (test doubles).

Wdrożenie i gotowość operacyjna

  • Konteneryzacja, konfiguracja i linie CI/CD.
  • Diagnostyka produkcyjna i bezpieczeństwo wydawania wersji.

Projekt końcowy: Przegląd architektury i implementacja

  • Przegląd architektoniczny aplikacji wzorcowej.
  • Implementacja i refaktoryzacja fragmentu funkcjonalności (feature slice).

Wymagania

  • Doświadczenie w programowaniu w języku C#
  • Znajomość programowania obiektowego (OOP) w kontekście pracy
  • Podstawowa znajomość SQL i baz danych relacyjnych

Grupa docelowa

  • Programistów .NET
  • Inżynierów oprogramowania i liderów technicznych
  • Programistów zainteresowanych rolą projektanta aplikacji

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (4)

Propozycje terminów

Powiązane Kategorie