将控制器与与服务器交互的服务分离的任何好处
Any benefit to decoupling controllers from services that interact with the server
在Angular.js中,我想知道在控制器和向服务器发出请求的服务之间有一个额外的接口是否有任何解耦的好处。
我最近一直在这样做,我真的无法判断拥有这个额外的跳跃是否完全没有意义,以及这是否真的只是在中间多了一只手的相同握手,等等。
所以我有一个控制器,然后是一个注入到该控制器中的服务。此服务注入了实际的"服务器请求服务",并通过回调或发布/订阅向控制器报告。
感谢您的任何建议。
我想说这取决于您服务的主要目的。让我把它弄对,基本上你有这个:
Controller A
|
|--> Service Main
|
|--> Service Ajax
因此,假设主服务充满了业务逻辑,这取决于 ajax 查询。但是 ajax 查询本身可能根据每个客户有不同的实现。在这种情况下,您的解耦方案可能会使更快地交换它们变得更加容易。除此之外,任何数据转换,如合并来自不同来源的多个请求等,都可以在这里完成,你的主控制器只是维护与你的应用程序绑定的逻辑。但实际上,在这一点上,它似乎更像是一种个人风味,而不是最好的建议规则。
我强烈建议您尽量减少发布/订阅的使用(如果您使用 $broadcast/$emit),因为这些会引入大量开销,尤其是在较大的应用程序中。相反,尝试将一个承诺从 ajax-query 一直返回给控制器。
相关文章:
- 任何好的 JavaScript Eclipse 插件
- 通过分离除“”之外的任何特殊字符来获得所有列表框值"通过jquery
- 如何从Node.js运行gullow任务-gullow.start()的任何更好的替代方案
- 优化javascript的任何更好的方法
- 任何学习Javascript浏览器对象模型的好地方
- 在使用 Lo-Dash 3.0 转换值时分组的任何好方法
- 任何 JavaScript 库的性能都可以像 Cut The Rope JavaScript 实现一样好吗?
- 是否有任何好的下划线.js替代方案来扩展核心 js 类
- 组合多个回调的任何更好方法
- 添加自定义属性以更好地分离 JavaScript 和 HTML
- 将控制器与与服务器交互的服务分离的任何好处
- 将值从第1页传递到第3页的任何更好的方法
- 在页面底部加载脚本是否保证在执行任何脚本之前DOM都准备好了
- 正在寻找一种分离Javascript和HTML的好方法
- 任何好的javascript库都可以允许对网站进行爬网
- Javascript文件结构-任何好的解决方案
- 任何好的JavaScript动画框架
- 是否有任何好的客户端股票图表库
- 为Web应用程序仅组合必要的css和js的任何好方法
- 是否有任何好的或可靠的方法可以仅使用Internet Explorer错误消息来确定JavaScript错误的位置