Öppna kurser
C# Master Class
Vill du bemästra C# och Visual Studio? Vill du se hur enkelt och effektivt det är att implementera moderna designmönster? Vill du lära dig hur experterna programmerar, och hur de skapar bra APIer? Då är det här kursen för dig!
Denna utbildning körs i Eduments regi.
Under kursen tar vi vid där de klassiska Microsoft-kurserna slutar, och omfattar mer avancerade ämnen med fokus på modern arkitektur och praktisk utveckling. Fokus ligger på ren kod och verkliga situationer. Med de kunskaper du får med dig kommer du kunna producera kvalitativt bättre program på ett effektivt sätt. Kursen består av många praktiska övningar där du får applicera det du lär dig i kursen.
Utbildningen är uppdaterad med senaste C# version 9 och de flesta övningar gör vi med senaste versionen av .NET 5. Även om du inte använder .NET 5 idag, så kommer du att få stor behållning av kursen då de flesta moment är applicerbara både på .NET 5, .NET Core och .NET Framework.
Målgrupp
Utvecklare i C# med .NET-erfarenhet, som vill få djupare förståelse i språk och verktyg samt uppdateras på senaste utvecklingsmetoder.
Förkunskaper
God kännedom om programmering i C# och .NET. Du bör ha jobbat med .NET i minst 1-2 år. Tidigare kunskaper i Linq och lambdauttryck är starkt rekommenderat. Annars rekommenderar vi vår kurs i Avancerad C# som ger dig en bra grund.
Vad du kommer lära dig:
Introduction
- C# History
- .NET Standard
Roslyn compiler
- Analyzers
- Source Generators
.NET Core
- .NET Core overview
Being Effective with Visual Studio 2019
- Advanced Visual Studio features
- Intelli Code
- Live Share
Lambda and Delegate refresher
- Delegates
- Lambda expressions
- Func and Action
- Predicate
Value Tuples
- Tuples vs Value Tuples
- Deconstruction
- Discard
Pattern matching
- Switch expressions
- Property patterns
- Positional patterns
- Tuple patterns
- Relational and logical patterns
Working with null
- Null-conditional operator
- Non-nullable reference types
- Null-forgiving operator
OO and dynamic
- Dynamic objects
- Late binding
Classes: outside-in
- Object Oriented design
- Command-Query Separation
- Command Pattern
Dependency Inversion
- The Dependency Inversion Principle
- Injecting dependencies
- DI containers
- .NET Core generic host
Higher Order Programming
- The lambda wrapper pattern
- Closure semantics, and its uses
- Function generators
- Lambda vs local functions
Reflective Programming
- Runtime structure of a program
- Reflection
- Creating types
Event driven architecture
- Complexity and boundaries
- Event aggregator pattern
- Publish/subscribe
- MediatR
- C# 9 Records and immutability
Asynchronous programming
- The Task abstraction
- The Thread pool
- Waiting for tasks
- Continuations
- Async and await keywords
Encoding and Unicode
- Understanding unicode
- UTF-8 and UTF-16 encoding
- Homographs