I love opening the eyes of developers to Dependency Injection (DI), both as a pattern and a product. But every time I do a session on it, I run out of time. Something always has to be sacrificed. No more. Time to do an entire workshop on it and cover everything.
I'll start by demonstrating the problem spaces we're trying fix, then I'll show you how to fix them. I will describe, explain, demonstrate, rinse and repeat all things DI. I'll go over the pattern and a variety of open-source products out there to implement it. It's more than just register and resolve. There are a lot of details and choices to make and you'll learn them here.
After you've learned how to fully use a DI container and what it can do for you, I'll show you how to implement it in a variety of scenarios. Everything from XAML applications to a variety of Web applications to services of different kinds. I'll cover not only the built-in DI capabilities of ASP.NET Core, but also how to use another DI container with it and how to even incorporate DI in areas in which you may not know was even possible, like controller filter attributes.
We'll conclude the day with the conversion of an untestable app with no DI in sight to being fully testable and taking complete advantage of dependency injection.
You will learn:
- Problem spaces with both testing and resolving dependencies
- Implementing DI into various app platforms
- Unit testing properly abstracted applications