创建Angular Services时的最佳实践

时间:2016-04-07 15:36:46

标签: javascript angularjs angular-services

我想知道在创建Angular services时应该考虑什么才能考虑附加services的模块。

例如

var app = angular.module('app', []);

//Add service to app module
app.factory('helloWorld', function() {
  return {};
});

//Or create a module for the service, and include the module where needed
var helloWorldModule = angular.module('helloWorldModule', []);
helloWorldModule.factory('helloWorld', function() {
  return {};
});

//Or attach is to an existing module that may need it
existingModule.factory('helloWorld', function() {
  return {};
});

是否应将所有创建的服务添加到app模块,因此我可以确保在需要时可以随时随地访问该服务,或者我应该只将其添加到我知道的modules中将使用它。

我知道这可能是主观的,并且基于应用程序结构,基本上我只是想知道将所有服务添加到app模块是否是一个好主意。

2 个答案:

答案 0 :(得分:1)

一如既往地取决于此。如果您的服务是可以在不同应用程序和模块之间共享的隔离服务,那么答案是肯定的。 如果它仅与您当前的模块相关,则为no。

答案 1 :(得分:-2)

尝试最大化凝聚力。如果您只有一个解决方案或应用程序,那么放置服务的位置并不重要,但如果您有多个解决方案,可能在重构过程中您意识到某些服务在将它们放在同一模块中是有意义的。