Advanced .Net
This training cover three major areas: Dependency Management in .NET, Asynchronous Future in .NET Framework and C# Tips and Tricks.
24 hours
Online
English
SDP-030_PRG
Advanced .Net
Sign Up
Duration
24 hours
Location
Online
Language
English
Code
SDP-030_PRG
Schedule and prices
€ 500
Training for 7-8 or more people? Customize trainings for your specific needs
Advanced .Net
Sign Up
Duration
24 hours
Location
Online
Language
English
Code
SDP-030_PRG
Schedule and prices
€ 500
Training for 7-8 or more people? Customize trainings for your specific needs

Description

This training covers three major areas: Dependency Management in .NET, Asynchronous Future in .NET Framework and C# Tips and Tricks.

Dependency Inversion is a very popular design technique in modern enterprise applications. But in spite of its popularity, the principles of inversion management and DI containers are often misused. In this training we focus not on specific libraries but mostly on the design principles on which the libraries are based. Such an approach will help participants not only understand the existing tools but use them correctly to solve practical tasks.

After the first part we deal with various features of the .NET platform that facilitate asynchronous programming, where they will learn about lower-level idioms and patterns such as Classical Async Pattern. We introduce modern libraries such as TPL and Reactive Extensions. Then we move on to the finer points of the C# language and .NET platform and examine the intricacies of using the "advanced" features of the C# language, their causes, as well as decisions taken in their design.
After completing the course, a certificate
is issued on the Luxoft Training form

Objectives

  • The basic principles of dependency management
  • Review of key DI patterns and anti-patterns
  • DI containers
  • Discover existing capabilities of working with asynchronous operations on the .NET platform, including TLP libraries, Reactive Extensions and PowerThreading
  • Review the features of the C# 5.0 language
  • Learn the subtleties of C# language and the key "advanced" features
  • Describe each feature and show how the language could evolve in the future

Target Audience

  • Senior .NET Developers and Architects
  • Professional developers familiar with the basic principles and concepts of the .Net platform and basics of multithreading

Prerequisites

  • Basics of multithreading and .NET platform

Roadmap

Dependency Management in .NET
  • SOLID principles
  • IoC vs DI
  • Stable and variable dependencies
  • Composition vs Aggregation vs Inheritance

Dependency Inversion Principles
  • Basic concepts

DI Patterns and Anti-Patterns
  • Composition Root
  • Constructor Injection
  • Property Injection
  • Ambient Context
  • Service Locator
  • Bastard Injection

Examples of Containers in .NET
  • Autofac

Asynchronous Future in .NET Framework
  • Task Parallel Library
  • Existing patterns of asynchronous programming
  • Internal structure of the AsyncEnumerator class
  • New C# 5.0 features: await and async
  • Reactive extensions library (Reactive Extensions, Rx)

C# Tips and Tricks
  • Events and delegates
  • "Duck typing" on the compiler level
  • Named and optional arguments
  • Exception handling tips and tricks
  • Iterator blocks and LINQ
  • "Brittle base class problem"
  • Mutable value types
  • Object instantiation caveats
  • Structs and default constructors
Schedule and prices
View:
Register for the next course
Registering in advance ensures you have priority. We’ll notify you when we schedule the next course on this topic
+
Courses you may be interested in
C Programming
The course provides an overview of the C language programming basics that will allow developers to gain (or refresh) their C software development skills, in order to write working and easy-to-read code solving typical problems
C-002
12 hours
Sign Up
Basics of .NET Development and C# Language
The course covers specifics of Microsoft .NET 4.0, program structure, syntax of C# 4.0 language, as well as development skills in Visual Studio® 2010.
Unit Testing in .Net
Unit testing is an approach where the programmer covers his code with tests that protect it from regression and ensure that it is correct. This makes UT mandatory when related to Agile development and Continuous Integration. This course also talks about other useful (but not always obvious) advantages of this technique.
View Catalog
Your benefits
Expertise
Our trainers are industry experts, involved in software development project
Live training
Facilitated online so that you can interact with the trainer and other participants
Practice
A focus on helping you practice your new skills
Still have questions?
Connect with us
Thank you.
Your request has been received.
Thank you!
The form has been submitted successfully.