Beskrivelse
Arbejder du med C# og Visual Studio og kunne du godt tænke dig at lære nogle af de mere avancerede features? Kunne du tænke dig at lære hvor rent og effektivt man kan implementere moderne design patterns? Vil du lære flere Best Practices og hvordan man laver effektive API'er, så er C# Expert Sessions noget for dig. Dette kursus tager sit afsæt der hvor de ordinære Microsoft C# kurser slutter. Det dækker langt mere avancerede emner med fokus på moderne arkitektur, ren kode og udviklings-paradigmer. Efter dette kursus vil du være i stand til at fremstille mere effektiv, ren og simpelthen bedre kode.
Indhold
- Visual Studio NinjaTricks
- Sådan får du mest ud af Visual Studio - Genveje og ninjatricks
- Fejlfinding i Visual Studio - et par nye tricks.
- Et Objektorienteret brush-up
- Hvorfor objekt orienteret?
- Dynamics - en anden måde at arbejde med objekter
- Tips til arbejde med klasser og instanser
- Interfaces og OO
- Hvad er ”Message passing”
- Interface rollen
- Almindelige Design Patterns
- Inject me! - Dependency Injection
- Control Principle taget på vrangen
- SOLID og principperne herom
- Hands-On Dependency Injection
- Hvorfor du bør overveje at benytte DI containeren
- Introduktion til Unity Dependency Injection
- Programmering uden grænser
- Generic Types
- Brugen af constraints i generisk programmering
- Event Based arkitektur
- Derfor decoupler vi ved brugen af events
- Higher Order udvikling
- Hvad er Higher Order udvikling?
- Action og Func vs. Predicate delegate typer
- I dybden med Lambda expressions og mulighederne/begrænsningerne
- The Reflex!
- Grundlæggende om reflection
- Hvad er attributter?
- Brug af ukendte dll’er
- Udvidet Linq
- Sammenligning imod Query syntax
- Joining, joins og alt det der ….
- Lidt om Expression tree
- Grouping
- Asynchrony, Concurrency, Parallelism
- Overordnet om forskellige typer af operations
- Brug af Task til at afvikle kode parallelt
- Async og Await
- Parallelisering
- Derfor skriver vi parallel kode
- Hardware og hvordan dette kan have indflydelse på parallel performance
- Threads, thread-pools og locks
- Et overordnet kig på Concurrent collections
- Et smugkig på PLINQ
- Reversing
- Hvad gør vi, hvis kildekoden er forsvundet?
- CIL/CLR
- .Net - et kik i krystalkuglen
- Hvor er vi på vej hen?