Angular では、サービスを使うことで、コンポーネントからアプリケーションの状態(ステート)や、ビジネスロジックを切り離すことができます。
アプリケーションの状態(ステート)
Angular では、コンポーネントを組み合わせることでアプリケーションを作り上げていきます。コンポーネント間でコミュニケーションをし、データをやり取りします。
コンポーネントの数が少ない間は、コンポーネントにステートを保持しておいて、他のコンポーネントに渡すこともできると思いますが、コンポーネントが増えるにつれてステートの管理が難しくなります。
アプリケーションのステートは、コンポーネントではなくサービスに保持しておき、コンポーネントはサービス経由でステートを取得する方が好ましいです。
ビジネスロジック
UI に関連しないビジネスロジックをコンポーネント内で実装してしまうと、再利用性が低くなってしまいます。ビジネスロジックが UI に結合した実装になりやすく、メンテナンス性も低下してしまいます。このため、UI に関連しないビジネスロジックはサービスの中で実装し、コンポーネントはサービスを呼び出すようにするほうが好ましいです。
参考情報
本ブログでは、Angular に関する様々な記事を公開しています。参考になりましたら幸いです。