Session Details

Leveling Up: Dependency Injection in .NET [Full-Day Workshop]

Full-Day Workshop

Loosely coupled code is easier to maintain, extend, and test. Dependency Injection (DI) help us get there. In this workshop, we'll see how interfaces can add "seams" to our code that makes it more flexible and maintainable. From there, we'll dig into loose coupling with Dependency Injection. DI doesn't have to be complicated. With just a few simple changes to our constructors or properties, we can have code that is easy to extend and test. After laying a good foundation, we'll take a closer look by diving into various DI patterns (such as constructor injection and property injection) as well as other patterns that help us handle interception and optional dependencies. Along the way, we'll see how DI helps us adhere to the SOLID principles in our code. We'll also we'll look at common stumbling blocks like dealing with constructor over-injection, managing static dependencies, and handling disposable dependencies. Throughout the day, we'll go hands-on with labs to give you a chance to put the concepts into action. If you're a C# developer who wants to get better with concepts like abstraction, loose coupling, extensibility, and unit testing, then this is the workshop for you.

Prerequisites
To get the most out of the workshop, you should have an understanding of the basics of C# and object oriented programming (classes, inheritance, methods, and properties). No prior experience with dependency injection is necessary. Hardware & Software To participate in the hands-on portion, you will need a computer (Windows, macOS, or Linux) with the following installed: o .NET Core 3.1 SDK https://dotnet.microsoft.com/download The .NET Core SDK (Software Development Kit) allows you to build .NET applications. o Visual Studio Code https://code.visualstudio.com/download This is a great all-around editor. o Visual Studio Code C# Extension https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp This extension to Visual Studio Code adds syntax highlighing and code completion for C#. o Visual Studio Code Live Share Extension Pack https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack This extension to Visual Studio Code will allow you to connect to my development environment where we can share code and develop together. As an alternative, you can use Visual Studio 2019 (any edition). No additional extensions are required. Live Share is built in to current versions of Visual Studio.
About

A software development conference in the Louisville, KY area on August 19 - 21, 2020 designed to cover all aspects of software development regardless of development stack.

Keep in Touch