Factories *can return functions.

On Fri, Apr 3, 2015 at 12:51 PM, Stewart Mckinney <[email protected]>
wrote:

> I use services as "data handlers". Stuff that talks to the server, stuff
> that holds data to communicate among directives, etc. I also use services
> for things like directives that can be summoned by any other directive - a
> fancy alert popup, for example, would be accessed through a service.
>
> I use factories for extending services. I use Restangular so I often give
> certain element transformers to all objects returning back from the server.
> Factories return functions and it feels more natural to pass those objects
> to them.
>
> I rarely use providers, but I typically use them when I have a service
> which is used over several apps in our code base and it needs some
> configuration in order to work with each one.
>
> 90% of the time it's a service. 7% of the time it's a factory, 3% of the
> time, a provider.
>
> On Fri, Apr 3, 2015 at 12:15 PM, a_gaur <[email protected]>
> wrote:
>
>> I have been really confused when to use factories or services, this SO
>> question
>> <http://stackoverflow.com/questions/18939709/when-to-use-service-instead-of-factory>
>>  gives
>> a great insight over the difference but I still don't understand over their
>> usage. One of the answers gives a very good conclusion of deciding what to
>> use when :
>>
>> In conclusion,
>>
>> ---------------------------------------------------  | Type    | Singleton| 
>> Instantiable | 
>> Configurable|---------------------------------------------------  | Service 
>> | Yes      | No           | No          
>> |---------------------------------------------------  | Factory | Yes      | 
>> Yes          | No          
>> |---------------------------------------------------  | Provider| Yes      | 
>> Yes          | Yes         |       
>> ---------------------------------------------------
>>
>>
>>    1.
>>
>>    Use Service when you need just a simple object such as a Hash, for
>>    example {foo;1, bar:2} It’s easy to code, but you cannot instantiate it.
>>    2.
>>
>>    Use Factory when you need to instantiate an object, i.e new
>>    Customer(), new Comment(), etc.
>>    3.
>>
>>    Use Provider when you need to configure it. i.e. test url, QA url,
>>    production url.
>>
>>
>> However what was the initial purpose of introducing services, I saw the
>> angular code and it seems both of them are same. In fact one is created
>> from another doing some debugging I found out that services are created
>> from factories and factories are created from providers. We just default
>> some values as go down the chain for instance in service you only can
>> create an object while in a factory you can create a hash, a value or an
>> object but the configuration is default and lastly in provider you can also
>> pass the configuration block.
>> Then what led to creation of services and factories when providers can do
>> everything and even more w.r.t. the two ?
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "AngularJS" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/angular.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to