为什么我要使用AngularJS中的工厂

Why should I use factories in AngularJS?

本文关键字:工厂 AngularJS 我要 为什么      更新时间:2023-09-26

我正在编写一个应用程序,它对几个提供商(如twitter、facebook)进行OAuth身份验证。我是Angular的新手,UI/模型是用Angular编写的,没有任何问题。但是,我有很多辅助方法,例如callApi、checkVerification、getToken等。我想了8种方法。我一直在考虑在AngularJS创建工厂,但我不知道为什么要这样做?这需要大量重写,我看不出有什么好处?为什么不使用helper方法保持简单呢?

工厂只是创建角度服务的一种方式。您可以将助手方法分组到这些服务中。

作为一名有角度的程序员,不使用服务就像是一名电工,不使用地线,这并不是什么真正需要的,也节省了不必连接的时间,但如果某个设备短路,你就有引发火灾的风险。在编程中,风险在于代码的灵活性、可维护性和测试能力。如果您的某个模块不能按预期工作,则调试将更加困难,等等。

当您有大量的代码时,将辅助函数逻辑分组到服务中可以帮助您更容易地组织或找到它们并测试它们。

这种最佳实践是由许多从事大型angularjs项目的资深开发人员提出的,他们在以这种方式构建代码方面有着成功的经验。它提供了另一个层,您可能会发现以后要在其中插入代码。如果你没有它,你就不会使用它(因为你刚才说的原因,重写它需要时间),然后随着时间的推移,你的代码会越来越混乱。angular的一个主要特点是鼓励代码组织和测试能力。

当然,您可以按照自己想要的任何方式编写代码,但使用服务(通过工厂或其他方法)将有助于避免大型项目长期难以维护。与其他设计模式一样,非常聪明的程序员已经发现了能够带来强大的长期可维护性优势的编码结构和最佳实践。

请参阅:为什么在Angular中使用服务?

了解更多对此的看法。