Angular 中服务和导出功能的区别?

Difference between services and exporting functions in Angular?

我对何时使用服务以及何时导出函数或 classes 感到有点困惑。

这就是我所说的导出 class 的意思:请在此处查看最佳答案

export class Utils {
    public static log(msg:string){
        console.log(msg);
    }
}

此处导入并使用

import {Utils} from './utils'

class parent{
   foo(s: string){
     Utils.log(s);
   }
}

class child{
   constructor(){
      Utils.log("Hello");
   }
}

这就是我所说的导出函数代替服务的意思:

export printAll(toPrint:string): void{
}

在这个问题中看到

与使用服务相比,这些方法有何区别?这两种方法有什么区别?优点缺点?决定使用哪个时的思考过程?

  • 通过使用导出的函数,有机会删除未使用的 在构建过程中的功能,这可以被考虑到 在这里考虑是一个优势。
  • 通过使用服务,您正在使用构造注入模式 这是实施 Inversion of Control (IOC).
  • 的最佳实践之一
  • 一般来说基于service oriented architecture (SOA) 每当一项操作或服务将被多次使用时,您就会使用一项服务 时间和 angular 模式通常 callback to Back-end ( Rest-API, ... ) 通常在服务中实现。因为 从后端获取数据可以被认为是一个单独的层 来自在控制器或组件中实现应用程序业务。