Advanced .Net

This training cover three major areas: Dependency Management in .NET, Asynchronous Future in .NET Framework and C# Tips and Tricks.
Code: SDP-030_PRG
Duration: 24 hours

Description

This training cover 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.

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

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


Trainer in Bucharest
Bogdan Iancu Software Development Specialist
Bogdan has been working as a software developer since 2010. During his career he has worked in companies operating in various industries such as travel, software development or gaming in various roles: Junior .NET Developer, .NET BI Tools Developer, .NET & Xamarin Developer and Training Architect, among others.

He is now managing his own mobile applications development company and is also an Assistant professor at the Department of Economic Informatics and Cybernetics within the Faculty of Cybernetics, Statistics and Economic Informatics in Bucharest.

Bogdan has a Bachelors Degree, a Masters Degree and a PhD from the Bucharest University of Economic Studies, Faculty of Cybernetics, Statistics and Economic Informatics. In addition to his professional and educational background he has also coauthored a book on Android application development, is a certified trainer and holds certification on C# 6.0 and OOP.
Course is scheduled in: Bucharest
10.02.2020 - 12.02.2020
Time: 10:00-18:00
City: Bucharest
Duration: 24 hours
Language: Romanian
Trainer
Bogdan Iancu
Software Development Specialist
€450
Register for the next course
+
Registering in advance ensures you have priority. Well notify you when we schedule the next course on this topic
Register for the next course
+
Registering in advance ensures you have priority. Well notify you when we schedule the next course on this topic
Bucharest €450
Krakow €450
Wroclaw €450

Invoices for the course will be issued in local currency. All fees above can change according to training location and delivery mode and are subject to change while scheduling. For individual participants the price is as displayed. For legal entities VAT is added to the displayed price.

Courses you may be interested in:

Sign up

Choose dates
First Name*
Last Name*
Company
Email*
Phone
Your Comment
Luxoft Warsaw - Warsaw Spire, plac Europejski 1, 00-844 Warszawa
Dimitrie Pompeiu nr 5-7 , building C, Et. 5, sect 2, Bucharest, 014459

Contact phone:

021 371 4858
Luxoft Poland Wroclaw - Silver Tower pl. Konstytucji 3-go Maja 3 50-048 Wroclaw
Aleja Generała Tadeusza Bora-Komorowskiego 25, Quattro Business Park Five, 31-476 Kraków, Poland

Contact phone:

+48 122110650
Success
Thank you.
Your request has been received.