控制器/服务的最佳实践

best practice controller / services

本文关键字:最佳 服务 控制器      更新时间:2023-09-26

我构建了一个Angular应用程序,它使用来自不同来源(SharePoint列表)的数据。我为每个源设置了一个控制器。

这方面的最佳实践是什么?为应用程序和不同的服务只使用一个控制器?还是一个服务和一个控制器?还是多个服务和控制器?在应用程序中,我不使用路由。

首先我建议阅读这些文章。同时,通过它们的角度实现,看看它们是如何实现一些效果的。它会把你扔进一个充满问题的世界,你会觉得"为什么?"我是说,为什么?我为什么会陷入这样的困境?"但是,咬紧牙关熬过去吧。然后你就会知道你能做到多少。学习Angular JS就是一个永无止境的循环。

  • angularjs-best-practices-directory-structure
  • Angular Style Guide
  • 高级设计模式和最佳实践
  • AngularJS开发者常犯的十大错误

好的,我来回答你的问题:你的方式没有错。

但是控制器不是这样设计的。控制器是一个代码单元,它将你的数据协调到UI中,处理UI事件等,通常是某个视图的——即你的UI的一部分(导航栏,主页,编辑表单等)。当然,这也可以是整个页面。但是最好把它分解,这样更容易管理。

使用你所描述的服务。为每个数据源或数据类型(用户、设备、角色等)创建服务。我推荐后者,因为有时您需要从多个端提取数据并将它们绑定在一起。这也可以在你的控制器内部完成,但是拥有服务将使你能够在应用程序的其他部分重用该功能。

要总结一个冗长的答案,我建议您阅读这些文章、代码和技巧。然后构建一个有助于构建应用程序的结构。只是不要过度设计。

我想说的是:在你的应用中为每一个HTML"片段"使用一个控制器(这取决于你的应用的规模有多大,如果你的应用真的很小,它可能只有一个控制器)。并为每个数据源使用一个服务。然后你可以在你的控制器中使用你需要的服务。如果你不需要很多行为,你也可以使用一个服务。这完全取决于你的应用有多大