Angular’s development team strongly encourages following the single responsibility principle when creating components and classes. When components grow too large, we should turn to services to help separate complex functionality to improve readability, complexity, and testability of an application. However, there are times when the singleton nature of services can provide unexpected results.
In the latest post of our series on Angular Development, we take a deep dive into how to control the scope of Angular providers and provide the desired functionality within an application.