【AngularJS】factoryとは【Service】
今回はAngularJSのfactoryについて調べた。
factoryとは??
リファレンスで調べてみた!
サービス・インスタンスを返すために呼び出されるservice factoryを実装するためのもの。 これは、factoryに与えられているgetプロパティのみで構成されるproviderの実装を省略するためのもの。 providerにサービスを設定する必要がない場合は、$ provide.factory ()を使用する必要がある。
さっぱりわからない。 provider,injectorなどの用語も出てきて、理解できず。
ちなみにproviderについてもリファレンスを見てみると
$injectorを使用してプロバイダの機能を実装するためのもの。
providerメソッドは、サービスのためのfactoryの提供を担当しているコンストラクターです。
$injectionってなに???
こうなった。
これでは進まないので、もっといい解釈はないかと調べた結果が以下の通り。
コンポーネント化を行うために「Service」というものがあるが、factoryはその作成方法の一つ。
factoryを含めて、Serviceの作成方法には以下の3つがある。
Value()
値の定義に使用する。定数とかを扱う場合に使うことが多い。
Factory()
関数などの定義に使用する。値だけでなく、関数やオブジェクトを返すことができる。
Service()
前述した「Service」と名称は一緒だが、別物。
コンポーネント化するためのServiceを作成する方法の一つに「Service」がある。
オブジェクトをインスタンス化したうえで、それを扱うためのもの。
簡単にいえば、上記のような感じ。
どんな時にそれぞれを使うのかはまだ調査中だが、現状の認識は以下の通り
■定数など値の定義・・・Value()
■関数、配列などの定義・・・Factory()
■クラスの定義・・・Service()
調査して違うようであれば修正する。
話を戻すと、Factoryとは・・・
値や関数などを定義するためのServiceを作るための一つの方法であり、そのうち関数や配列などを扱うもの
以上!