Book Image

Dependency Injection in .NET Core 2.0

By : Marino Posadas, Tadit Dash
Book Image

Dependency Injection in .NET Core 2.0

By: Marino Posadas, Tadit Dash

Overview of this book

<p><span id="description" class="sugar_field">.NET Core provides more control than ever over web application architectures. A key point of this software architecture is that it's based on the use of Dependency Injection as a way to properly implement the Dependency Inversion principle proposed in the SOLID principles established by Robert C. Martin</span>.</p> <p><span id="description" class="sugar_field">With the advent of .NET Core, things have become much simpler with Dependency Injection built into the system. This book aims to give you a profound insight into writing loosely-coupled code using the latest features available in .NET Core. It talks about constructors, parameter, setters, and interface injection, explaining in detail, with the help of examples, which type of injection to use in which situation. It will show you how to implement a class that creates other classes with associated dependencies, also called IoC containers, and then create dependencies for each MVC component of ASP.NET Core. You'll learn to distinguish between IoC containers, the use of Inversion of Control, and DI itself, since DI is just a way of implementing IoC via these containers. You'll also learn how to build dependencies for other frontend tool such as Angular. You will get to use the in-built services offered by .NET Core to create your own custom dependencies.</span></p> <p><span class="sugar_field"><span id="description" class="sugar_field">Towards the end, we'll talk about some patterns and anti-patterns for Dependency Injection along with some techniques to refactor legacy applications and inject dependencies.</span></span></p>
Table of Contents (18 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Object Composition in ASP.NET Core MVC 2.0


Like Console Application, we can follow the same procedure to deal with dependencies inside ASP.NET Core MVC 2.0 apps. Unlike the console app, the Main method inside the Program.cs, in this case, is populated with default codes to initiate the MVC App with required configurations. It is that location from which it instructs the framework to load the Startup class. The host inside the Main method executes the Startup class ConfigureServices method.

ASP.NET Core MVC is designed to be DI-friendly. But it does not force you to apply DI always. To deal with dependencies in ASP.NET MVC, we can take the Poor Man's DI approach to manually manage them or leverage built-in/third party DI Container's technique to register, resolve, and release dependencies. Let's dive a little deep into the controller initiation process and see if we find anything useful.

The heart of MVC lies in controllers. Controllers handle requests, process them, and return the response...