Introduction
In this chapter, we will learn what SOLID principles are, what the IOC, DI, and service locator patterns are, why we should use these patterns, what problems they solve, what tools we can use to solve them, and how they are implemented natively in ASP.NET Core.
Those who know all the concepts surrounding IOC and DI can go directly to the first recipe of this chapter. For the rest, we will show you some of these concepts in this introduction.
First of all, we have to follow these common design principles when programming with object-oriented languages:
- Keep It Simple, Stupid: We have to keep our code simple and not over-complicate. Stupid does not mean silly.
- Don't Repeat Yourself: Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. In other words, we try to use abstraction in our system, avoiding repetition and not duplicating logic.
- Tell, Don't Ask: We tell objects what to do instead of asking them what they should do. This practice...