Zaawansowane Elementy Języka C#

Moduł 2 - LINQ

Agenda

  • Co to jest LINQ?
  • Historia LINQ
  • Operatory LINQ
  • PLINQ
  • MoreLINQ

LINQ

  • Sekwencja
  • Element

Sekwencja

Uporządkowany ciąg znaków, symboli, nazw, zdarzeń itp., stanowiący strukturę układu, systemu.

Plusy Korzystania
z LINQ

  • Zmniejszenie ilości kodu
  • Ekspresyjność kodu
  • Łączenie zapytań
  • Statyczna kontrola typów

Składnia Fluent

Składnia Query

Składnia Hybrid

Moduł 2 LINQ

LINQ - WHERE

Moduł 2 LINQ

LINQ - SELECT

Moduł 2 LINQ

LINQ - Quantifier Operators

 

LINQ - Quantifier Operators

  • Contains
  • Any
  • All
  • SequenceEqual

 

LINQ - Contains

 

LINQ - Any

 

LINQ - All

 

LINQ - SequenceEqual

Moduł 2 LINQ

LINQ - Elements Operators

 

LINQ - Elements Operators

  • First
  • Last
  • Single

 

LINQ - Sortowanie i Grupowanie

  • OrderBy
  • OrderByDescending
  • ThenBy
  • ThenByDescending
  • GtoupBy

 

LINQ - First

 

LINQ - Last

 

LINQ - Single

Moduł 2 LINQ

LINQ - Sortowanie i Grupowanie

 

LINQ - Sortowanie i Grupowanie

  • OrderBy
  • OrderByDescending
  • ThenBy
  • ThenByDescending
  • Reverse
  • GroupBy

 

LINQ - OrderBy / ThenBy

 

LINQ - OrderByDescending / ThenByDescending

 

LINQ - Reverse

Moduł 2 LINQ

LINQ - Agregacja

 

LINQ - Agregacja

  • Count
  • LongCount
  • Sum
  • Min
  • Max
  • Average
  • Aggregate

 

LINQ - Count / LongCount

 

LINQ - Sum

 

LINQ - Min

 

LINQ - Max

 

LINQ - Average

 

LINQ - Aggregate

Moduł 2 LINQ

LINQ - Partycjonowanie i Generowanie

 

LINQ - Partycjonowanie i Generowanie

  • Take
  • TakeWhile
  • Skip
  • SkipWhile
  • Empty
  • Range
  • Repeat

 

LINQ - Take

 

LINQ - TakeWhile

 

LINQ - Skip

 

LINQ - SkipWhile

 

LINQ - Empty

 

LINQ - Range

 

LINQ - Repeat

Moduł 2 LINQ

LINQ - PLINQ i MoreLINQ

Moduł 3 - Programowanie Obiektowe

Programowanie obiektowe

  • 4 Filary programowania obiektowego
  • Interfejsy
  • Klasy Abstrakcyjne
  • Kompozycje

Programowanie obiektowe

  • Abstrakcja
  • Hermetyzacja
  • Polimorfizm
  • Dziedziczenie

Elementy nie wchodzące
w skład modułu

  • SOLID
  • Domain Driven Desing
  • Architektura 

Paradygmaty Programowania

  • Programowanie Obiektowe
  • Programowanie Funkcyjne
  • Programowanie Strukturalne

Krótka historia
programowania obiektowego

Programowanie obiektowe

to nie tylko C#

  • Java
  • C++
  • Ruby
  • Python
  • PHP
  • JavaScript

Moduł 3 - OOP

Zależności Klas

Zależności Klas

 

Zależności Klas

 

Silna Zależność

  • Kod staje się ciężko testowalny
  • Ograniczona możliwość ponownego
    użycia kodu
  • Brak możliwości podmiany elementów
    składowych klasy

 

Słaba Zależność

  • Kod jest łatwy do testowania
  • Wzrasta możliwość ponownego użycia kodu
  • Łatwo można podmienić elementy składowe klasy

Moduł 3 - OOP

Interfejsy

Interfejsy

  • Wszystkie składowe są domyślnie abstrakcyjne
  • Klasa może implementować wiele interfejsów 

Interfejsy

Advanced C#

By eduweb

Advanced C#

  • 247