Factory vs Service

angularjs factory vs service do the same thing, just a different way of instantiation

by bryangrimes

HTML

<script src="http://code.angularjs.org/angular-1.0.0rc9.js"></script>
<div ng-controller="ListCtrl">
    <p>{{fromService}}</p>
    <p>{{fromFactory}}</p>
</div>
<br />
<div ng-controller="DetailCtrl">
    <p>{{fromService}}</p>
    <p>{{fromFactory}}</p>
</div>

JavaScript

//angular.js example for factory vs service
var offerModule= angular.module('myApp', ['ngResource']);
    
offerModule.factory('offerFactory', function($resource){
        return $resource('data/offers.json',{}, {
            getall: {method:'GET', params:{}, isArray:true}
        });
    });

offerModule.service('helperService', function(data, field){
    this.GenerateValue = function(data, field){
        var x = data.filter(function(element, index, array){
            return (element.name == field);
        });

        if (x.length == 1) return x[0].value;
    };
    
    this.GenerateLink = function(data){
        return data["href"];
    };
});
function ListCtrl($scope, helperService, offerFactory)
{
    $scope.fromService = testService.sayHello("World");
    $scope.fromFactory = testFactory.sayHello("World");
}

function DetailCtrl($scope, helperService, offerFactory)
{
    var json = { "collection" : { "href": "data/offers.json" } };
    $scope.fromService = helperService.GenerateLink(JSON.parse(json));
    $scope.fromFactory = testFactory.sayGoodbye("World");
}