AngularJS Patterns: Resolver as separate class

Use separate classes to resolve data.

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-route.js"></script>
<div>
    <div ng-view="true"></div>
</div>
<script type="text/ng-template" id="index.html">
    Hello, {
        {
            name
        }
    }!
</script>

JavaScript

ExampleResolver = function ($q) {
    deferred = $q.defer()
    deferred.resolve('Superhero');
    return deferred.promise;
};
ExampleResolver.resolve = {
    name: ExampleResolver
};

ExampleCtrl = function ($scope, name) {
    $scope.name = name;
};

myApp = angular.module('myApp', ['ngRoute']);
myApp.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/', {
        templateUrl: 'index.html',
        controller: ExampleCtrl,
        resolve: ExampleResolver.resolve
    });
}]);
angular.bootstrap(document, ['myApp']);