Book Image

Learning ASP.NET Core 2.0

By : Jason De Oliveira, Michel Bruchet
Book Image

Learning ASP.NET Core 2.0

By: Jason De Oliveira, Michel Bruchet

Overview of this book

The ability to develop web applications that are highly efficient but also easy to maintain has become imperative to many businesses. ASP.NET Core 2.0 is an open source framework from Microsoft, which makes it easy to build cross-platform web applications that are modern and dynamic. This book will take you through all of the essential concepts in ASP.NET Core 2.0, so you can learn how to build powerful web applications. The book starts with a brief introduction to the ASP.NET Core framework and the improvements made in the latest release, ASP.NET Core 2.0. You will then build, test, and debug your first web application very quickly. Once you understand the basic structure of ASP.NET Core 2.0 web applications, you'll dive deeper into more complex concepts and scenarios. Moving on, we'll explain how to take advantage of widely used frameworks such as Model View Controller and Entity Framework Core 2 and you'll learn how to secure your applications. Finally, we'll show you how to deploy and monitor your applications using Azure, AWS, and Docker. After reading the book, you'll be able to develop efficient and robust web applications in ASP.NET Core 2.0 that have high levels of customer satisfaction and adoption.
Table of Contents (19 chapters)
Title Page
Credits
Foreword
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Using dependency injection for encouraging loose coupling within your applications


One of the biggest problems when developing applications is inter-component dependencies. These dependencies make it hard to maintain and evolve your components individually because modifications might badly impact other dependent components. But be assured, there are mechanisms that allow those dependencies to be broken up, one of them being dependency injection (DI).

Dependency injection allows components to work together, while providing loose coupling. A component only needs to know the contract implemented by another component to work with it. With a DI container, components are not directly instantiated nor are static references used for finding an instance of another component. Instead, it is the responsibility of the DI container to retrieve the correct instance during runtime.

When a component is designed with DI in mind, it is very evolutive by default and is not dependent on any other components or...