在Angular JS服务中构建依赖关系

时间:2014-06-10 02:51:46

标签: javascript angularjs

我想知道如何解决这个问题的最佳方式。我有一个控制器,它注入了两个额外的参数:ConfigServiceDataAccess。 ConfigService返回指令的配置对象。配置对象存储在服务内部的JS变量中。 "数据"使用DataAccess获取ConfigService返回对象的属性。

所以我的控制器依赖于ConfigService的返回对象来为它提供一些配置数据。该配置服务依赖于DataAccess。

让我的控制器依赖于两者是否正确,或者我的ConfigService是否依赖于DataAccess,然后让我的控制器仅依赖于ConfigService?

1 个答案:

答案 0 :(得分:0)

在他开始研究AngularJS之前,Misko方式编写的代码审查员指南(http://misko.hevery.com/code-reviewers-guide/)实际上有一些很好的建议。

你所提到的可能属于缺陷#2,深入研究合作者。简单的经验法则是,如果需要从控制器中的ConfigService访问变量或键,则应将ConfigService注入控制器。您不应该通过DataAccess服务访问它。另一方面,如果您不需要直接从ConfigService获取任何内容,则不要将其注入。

反过来也是如此 - 如果您的控制器确实不需要DataAccess(正如您所做的那样),那么就不需要将DataAccess注入您的控制器。让ConfigService处理它,让控制器处理完全加载的ConfigService。