Ваши компоненты должны обрабатывать логику вашего взгляда.Это означает, что они должны обрабатывать нажатия кнопок, формы и так далее.
Если у вас есть бизнес-логика, вы должны использовать сервис.В вашем случае вы справились хорошо, создав 3 сервиса для каждого «класса» вашей модели данных.
Теперь, что вы пропустили, так это то, что вам не нужны 2 зависимости в вашем компоненте: вам нужна только одна.
Вы создали поисковый компонент автомобиля → вам нужна зависимость от автосервиса.Это все.
Что вы будете делать, это позвонить в службу, выполнить поиск вашего автомобиля, и в вашем сервисе , указать местоположение (это означает, что ваш автосервис зависит от местоположения).
Логика этого проста: представьте себе, что завтра вы также хотите уведомить продавца о том, что кто-то нашел их машину.Что вы будете делать ?Будете ли вы добавить третью зависимость для вашего компонента?
Нет.Что вы будете делать, это оставить компонент таким, какой он есть, и добавить зависимость к вашему сервису.
Теперь, на следующий день, вы решаете переключиться с Firebase на Parse, потому что это бесплатно.Что происходит в вашем случае?Вы должны изменить свои компонентные зависимости?
В моем случае ваш компонент остался нетронутым.Только ваш автосервис изменит свою зависимость от пожарной базы до разбора.Поскольку компоненту не важно, какого провайдера вы используете, он просто хочет найти автомобиль.
Этот способ работы позволяет создавать компоненты и службы, которые вы можете повторно использовать в том же приложении или в других приложениях.