Now that we learned how data was shared among classes before services and that this wasn’t very DRY or scalable, let’s learn how to use services for dependency injection.
Best practices teach us the DRY principle: Don’t repeat yourself. Let’s get a real-world understanding of why this principle matters by looking at how we built components and classes before services.
Take a look at what Angular has officially released with Ivy Language Service, from type checking and error detection to platform consistency and codebase diagnosis.