AngularJS: Best Practices using the scope
When building any Angular app, any performance optimization boils down to: Minimizing the number of binding expressions and hence watches, Making sure that binding expression evaluation is quick and Optimizing the number of digest cycles that take place.
Services are objects whose API is defined by the developer writing the service. Specialized objects conform to a specific Angular framework API. These objects are one of controllers, directives, filters or animations.
Angular is built around the belief that declarative code is better than imperative when it comes to building UIs and wiring software components together, while imperative code is excellent for expressing business logic.