【问题标题】:Which one to use in Angularjs : Factory, Service and Provider?在 Angularjs 中使用哪一个:工厂、服务和提供者?
【发布时间】:2015-07-24 17:15:49
【问题描述】:

您好,我是 Angularjs 的新手。我正在阅读有关 Angular 服务的信息。我已阅读以下内容 what-is-difference-between-factory-service-and-providerservice-vs-provider-vs-factory。对我来说,似乎它们只是实现相同目标的不同方式(如果我错了,请纠正我。)现在我想知道,因为它们都服务于相同的目的,哪一个是使用的想法并被认为是最佳实践?

【问题讨论】:

标签: angularjs


【解决方案1】:

没有最佳实践,没有人会告诉你一个比另一个更好(服务与工厂)。

如果您需要在运行时配置服务(例如配置路由器),请使用提供程序。

到什么时候用工厂,什么时候用服务,都是一样的。

Factory 具有最容易理解的语法(使用显示模块模式),因此这是最常见的选择。

另一方面,服务现在更“有用”了,因为它们使用与 Angular 2 服务相同的语法,所以如果您计划有一天迁移,现在使用服务将有助于过渡。

【讨论】:

    【解决方案2】:

    听起来问题是什么时候使用哪个。首先,重要的是要注意它们都是提供者。每个都是另一个更专业的版本,以provider 开头。 factoryprovider 的专用版本。 value 和 service 是 factory 的特殊版本。

    constantvalue 是彼此的特殊版本。因为provider 位于顶部,所以可以做所有其他提供者所做的事情,你可以只使用提供者就可以逃脱。但是你会写很多不必要的代码。

    链中的每个专业提供程序,如果您可以使用它,您将可以用更少的代码完成相同的事情。因此,您可以说最佳实践是使用供应链最末端的供应商来完成您想要的。

    这是一张高级图片,向您展示了我的意思:


    (来源:simplygoodcode.com

    下面是图片来源的博客文章的链接,它为您提供了更多示例:

    http://www.simplygoodcode.com/2015/11/the-difference-between-service-provider-and-factory-in-angularjs/

    【讨论】:

      猜你喜欢
      • 2015-07-22
      • 2016-10-07
      • 2013-10-15
      • 2016-05-06
      • 2016-02-18
      • 2011-04-15
      • 2015-07-01
      • 1970-01-01
      • 2021-07-17
      相关资源
      最近更新 更多