agularJs中的服务与工厂

时间:2016-04-12 08:05:26

标签: angularjs

有什么东西可以在服务中使用但不在工厂,反之亦然?基本上我想总结服务和工厂之间的区别。

1 个答案:

答案 0 :(得分:1)

您可以查看新帖.service() versus .factory(), the actual answer@ToddMotto

  

那么,什么是服务?

     

服务只是应用程序业务层的一个功能,它只是一个简单的功能。它充当构造函数,并在运行时使用new调用一次,就像使用纯JavaScript一样

     

<强>工厂

     

接下来是令人困惑的.factory()方法。工厂不仅仅是提供服务的“另一种方式”,任何人都会告诉你这是错误的。然而,可以为您提供.service()的相同功能,但功能更强大,更灵活。

     

工厂不仅仅是回归某种东西的“方式”,工厂实际上是一种设计模式。工厂创建对象,就是这样。现在问问自己:我想要什么类型的对象?使用.factory(),我们可以创建各种对象,例如新的类实例(带有.prototype或ES2015类),返回对象文字,返回函数和闭包,甚至只返回一个简单的String。你可以创造任何你喜欢的东西,这就是规则。

享受