What is a service and why do we need them?
Sometimes implementing business logic in a web application requires fetching some data from other resources. In other words, we don't need any template; we are only interested in specific data.
For example, the Collector component is in charge of collecting news from various sources. To implement this business logic, we can add a few methods inside the component class and directly feed the results to the component template. But this solution is not ideal. First, the number of lines in the component class will grow unnecessarily. That will violate modularity rules and Angular best practices - keeping classes small. As a result, it will force higher maintenance costs in the future.
Moreover, when we need the same logic in another part of the application (or in a totally different application) we can't use it because it is coupled to a specific component class itself.
The better approach is to implement that business logic in another class - called a...