The sky is the limit

ハイブリッドアプリ開発、PWAなど効率の良いiOSアプリ、Androidアプリ開発の情報を共有したい。アプリ開発は楽しい。【PWA、AngularJS、Monaca、Cordova、OnsenUI】

【AngularJS】factoryとは【Service】

今回はAngularJSのfactoryについて調べた。

f:id:duo-taro100:20160218004611p:plain

 

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を作るための一つの方法であり、そのうち関数や配列などを扱うもの

 

f:id:duo-taro100:20160214124138j:plain

以上!