Ребята, вы не могли бы обьснить момент ?
Consider not providing services in shared modules. Services are usually singletons that are provided once for the entire application or in a particular feature module. There are exceptions, however. For example, in the sample code that follows, notice that the SharedModule provides FilterTextService. This is acceptable here because the service is stateless;that is, the consumers of the service aren't impacted by new instances.
Consider not providing services in shared modules
вот тут я не понял. Зачем же для всей апки сервисы провайдить, если можно только там, где нужно?
тут вопрос в том что при провайде сервиса в шейред при каждом импорте шейред модуля будет создаваться shadow clon сервиса, для каждого модуля будет свой клон. можно использовать в таком случае forRoot но тут лучше или providedIn или CoreModule (хотя уже от него можно отказаться, providedIn заменяет это, а в 9-ке вообще добавились два новых скоупа под эти дела, в том числе для лейзи модуля)