Zaawansowane programowanie w języku C#

Zakres szkolenia

Szkolenie dedykowane dla programistów C# chcących udoskonalić swoje umiejętności tworzenia profesjonalnego i niezawodnego kodu dla platformy .NET 4.5. Omawiane są między innymi zagadnienia: LINQ, programowania współbieżnego, dynamicznych typów danych DLR oraz praktycznego wykorzystania API refleksji.


Plan szkolenia

Technologia LINQ

  • Architektura LINQ
  • LINQ i kolekcje obiektów - LINQ-to-Objects
  • Przegląd operatorów LINQ
  • Tworzenie zaawansowanych zapytań LINQ - złączenia i grupowania wyników zapytań
  • LINQ-to-XML API
  • Expression Trees API - drzewa wyrażeń
  • Tworzenie własnych providerów LINQ

Refleksje

  • API refleksji
  • Atrybuty zestawów .NET
  • Praca z informacjami o typach, składowych lub zdarzeniach
  • Programowanie dynamiczne z wykorzystaniem refleksji
  • Implementacja pluginów w C#

Programowanie dynamiczne w C#

  • DLR oraz wiązania dynamiczne (dynamic binding)
  • Dynamiczna implementacja wzorca Visitor
  • Implementacja obiektów dynamicznych (np. ExpandoObject)
  • Interoperacyjność z językami dynamicznymi - import skryptów Pythona

Domeny aplikacji i CLR Hosting

  • CLR Hosting
  • Domeny aplikacji
    • tworzenie domen aplikacji
    • komunikacja między domenami aplikacji
    • domeny aplikacji i wątki CLR
    • sandboxing domen aplikacji - tworzenie środowiska dla pluginów

Programowanie wielowątkowe i asynchroniczne

  • Parallel Extensions - klasa Parallel
  • Parallel LINQ - PLINQ
  • Task Parallel Library
    • klasa Task
    • kontynuacje zadań
    • kooperatywny model anulowania zadań
  • Metody asynchroniczne w C# - async - await
  • Kolekcje thread-safe w .NET Framework

Dobra znajomość tematów ze szkolenia Programowanie w języku C#

3 dni po 8 godzin lekcyjnych