Czas trwania
3 dni
Abstrakt
Szkolenie obejmuje zaawansowane aspekty platformy .net. W trakcie jego trwania uczestnicy będą ćwiczyć przedstawiane zagadnienia na wielu praktycznych przykładach. Ponadto zostaną pokazane przydatne wzorce i praktyki, które pozwolą na budowę lepszych rozwiązań.
Zagadnienia
| Zaawansowane elementy językowe |
| Generyki |
| Zjawisko inferencji |
| Generyki vs niegeneryki – porównanie wydajności |
| Delegaty, metody anonimowe i lambdy |
| Wstęp do programowania funkcyjnego |
| Closures w C# |
| Czym są? |
| Jakie mogę powodować problemy? |
| Kowariancja i Kontrawariancja |
| Klasy anonimowe |
| Iteratory |
| Maszyna stanów generowana przez kompilator |
| Nieskończone sekwencje |
| Strumieniowanie |
| Inicjalizatory |
| Extension methody |
| Expression trees – analiza i generowanie kodu |
| Dynamic – dynamiczność w C# |
| Async i await – metody asynchroniczne |
| Przydatne narzędzia |
| Reflector – dissasembler .Neta |
| ILSpy – disassembler .Neta |
| Narzędzia SysInternals |
| LINQ |
| Przegląd operatorów |
| Zaawansowane konstrukcje LINQ |
| Własne operatory i rozszerzenia LINQ |
| Rodzaje LINQ |
| Wstęp LINQ to XML |
| Wstęp LINQ to Entity Framework |
| Wstęp do NHibernate |
| Wybrane zaawansowane aspekty platformy .net |
| Resourcy |
| Konfiguracja i ustawienia |
| Serializacja |
| Lokalizowalność |
| Zaawansowania refleksja |
| Generowanie kodu |
| Partial methods |
| Templaty T4 |
| Wstęp do programowania współbieżnego |
| Prymitywy .Net |
| Póla wątków i timery |
| Thread Parallel Library |
| Struktury |
| Taski |
| PLINQ |
| Częste problemy i rozwiązania |
| Wzorce |
| Lokalizacja komponentów |
| ServiceLocator |
| Dependency Injection |
| Progamowanie aspektowe |
| EventBroker |
| Wstęp do testowania |
| NUnit i MsTest – narzędzia do testowanie jednostkowego |
| NSubstitute – narzędzie do tworzenia mocków |
| Współpraca z innymi językami |
| Współpraca z kodem niezarządzalnym |
| Współpraca z innymi językami .Net |
| Projekty cross platformowe |
| Jak pisać jeden kod, a wykorzystać go na wielu platformach |
| Silverlight, WPF, WP7, Metro |
| Profilowanie i badanie wydajności aplikacji |
| Profilowanie kodu |
| Badanie wycieków pamięci |
| Zaawansowanie debuggowanie |
| Tips & Tricks debuggera |
| Zmiana miejsca wywołania |
| Oznaczanie instancji klas |
| Odwijanie stosów podczas obsługi błędów |
| Wykonywanie kodu podczas debuggingu |
| Wstęp do WCF |
| Adres – gdzie jest serwis i jak go hostować |
| Binding – jakie dostępne są protokoły komunikacji z serwisem |
| Kontrakt – co mogę zrobić z tym serwisem |
| Rodzaje operacji |
| Obsługa błędów |
| Instancyjność serwisów |
| Korzystanie z serwisów w kodzie klienckim |
| WPF, Silverlight |
| Model rozszerzalności WCF |
