Cod: SDP-030_PRG
Durata: 24 ore
Durata: 24 ore
Descriere
In cadrul acestui training abordam trei arii majore: Dependency Management in .NET, Asynchronous Future in .NET Framework si C# Tips and Tricks.Dependency Inversion este o metoda de design foarte populara in aplicatiile enterprise moderne. Dar in ciuda popularitatii sale, principiile inversion management si DI containers sunt de cele mai multe ori folosite incorect. In cursul nostru, nu ne concentram pe librariile specifice, ci in mare parte pe principiile de design pe care se bazeaza aceste librarii. O asemenea abordare ajuta participantii sa inteleaga instrumentele existente si sa le utilizeze corect.
Apoi vom discuta despre diferitele functionalitati ale platformei .Net care faciliteaza programarea asincrona. Aici prezentam lower-level idioms si patterns precum Classical Async Pattern precum si librariile moderne ca TPL sau reactive extensions. In ultima parte a cursului acoperim subiectele mai avansate legate de limbajul C# si platforma .Net.
Subiecte curs
Dependency Management in .NET- Principiile SOLID
- IoC vs DI
- Stable si variable dependencies
- Composition vs Aggregation vs Inheritance
Principiile Dependency Inversion
- Concepte de baza
DI Patterns si Anti-Patterns
- Composition Root
- Constructor Injection
- Property Injection
- Ambient Context
- Service Locator
- Bastard Injection
Exemple de Containers in .NET
- Autofac
Asynchronous Future in .NET Framework
- Task Parallel Library
- Existing patterns in programarea asincrona
- Structura interna a clasei AsyncEnumerator
- Functionalitatile C# 5.0: await si async
- Reactive extensions library (Reactive Extensions, Rx)
C# Tips and Tricks
- Events si delegates
- "Duck typing" pe compiler level
- Argumente Named si optional
- Exception handling tips and tricks
- Iterator blocks si LINQ
- "Brittle base class problem"
- Mutable value types
- Object instantiation caveats
- Structs si default constructors
Obiective
- Principiile de baza ale dependency management
- Trecerea in revista a DI patterns si anti-patterns
- DI containers
- Functionalitatile existente prin care se poate lucra cu operatii asincrone pe platforma .Net, inclusive TLP libraries, Reactive Extensions si PowerThreading
- Trecerea in revista a functionalitatilor limbajului C# 5.0
- Best practices si functionalitati avansate ale limbajului de programare C#
- Descrierea fiecarei functionalitati cheie si prezentarea potentialelor evolutii ale limbajului
Public tinta
- Programatori Senior si Arhitecti .NET
- Developeri familiari cu principiile si conceptele de baza ale platformei .net si multithreading
Cerinte curs
- Cunostinte de baza in multithreading si platforma .NET