zoukankan      html  css  js  c++  java
  • Part 19 AngularJS Services

    What is a service in AngularJS
    Before we talk about what a service is in Angular. Let's talk about a service in web development.  

    If you have any experience developing web applications
    1. You might have heard about Web Services and WCF Services
    2. You might have also created objects that provide some services. For example, a Math object may provide services to add numbers. 

    So, a service in Angular is simply an object that provide some sort of service that can be reused with in an angular application. The angular service object has properties and methods, just like any other JavaScript object.  

    AngularJS has lot of built in services. We discussed two of the built in services - $http & $log, in our previous video. $http service is used to make AJAX calls. $log service is useful to log an object to the console, which is very useful when debugging applications. We can also create our own custom services, which we will discuss in a later video. 

    For now let's understand the need for services. 

    Why do we need services in an angular application
    The primary responsibility of the controller is to build the model for the view.  The controller should not be doing too many things. For example, if the controller also has the logic to compute Age from Date of Birth, it violates one of the SOLID principles i.e the Single Responsibility Principle. The Single Responsibility Principle states that an object should only have a Single Responsibility. So this kind a logic belongs in it's own service, which can then be injected into the object that needs that service. 

    In our previous video session, we have injected 2 of the angular built in services i.e $http and $log service into the controller function that needs them.

    In general, if the logic with in your controller, is becoming too large or too complex, then it is time, to take a step back, and think if anything can be abstracted into it's own service.

    Services can be used by controllers, directives and filters.

    What are the benefits of using services
    Reusability : In a service you usually have a logic that you want to reuse with in your entire application. For example, any time you want to make AJAX calls, you can use one of the built in angular service - $http, simply by injecting it into the object that needs that service. The application is also easier to maintain when the reusable components are encapsulated into their own services.

    Dependency Injection : Another benefit of services, is that, they can simply be injected into controllers or other services that need them.

    Testability : Since services are injected into controllers or other services that need them, it becomes very easy to test them. Depending on which service you are testing, you can pass mock implementations or real implementations.

  • 相关阅读:
    cyq.data 常见使用方法
    JS生成随机数进行循环匹配数组
    CSS3常用的循环动画
    JSSDK调用微信原生的功能上传图片保存到自己的服务器中
    C#图片压缩
    nodejs使用vue从搭建项目到发布部署
    JS在一个数组中查找某个用户输入的值,返回对应值所在索引值
    转载文章记录篇
    随笔诗词-1
    mobilebone与weiui_example.css 使用问题
  • 原文地址:https://www.cnblogs.com/gester/p/5433290.html
Copyright © 2011-2022 走看看