【发布时间】:2014-09-16 12:16:46
【问题描述】:
当您拥有一个包含 4 种相关方法的工厂时,最佳实践是什么,每个方法都非常长(200 多行代码)并且您希望避免拥有 800 多行代码的巨大文件?
一种解决方案是在同一个模块下创建 4 个工厂,每个工厂在其自己的文件中公开一个方法。然后将它们全部注入需要它们的控制器中。
有没有更好的解决方案?我想创建一次工厂,然后向它添加方法,就像我使用模块模式进行模块扩充一样。然后我只需要注入一次工厂并使其所有方法都可用。
【问题讨论】:
-
为什么你的方法有 200+ 行代码?听起来重构是最好的解决方案。可能会发布其中一种用于代码审查的巨大方法。
-
不幸的是,我不能再缩小它们了,虽然不是全部,但我明白你的意思。由于应用程序逻辑,我有一堆 try/catch 和 if/else 要做。
-
如果它不是敏感代码,您能否在某处发布您的大型方法之一的示例?纯粹出于好奇,我想看一个。
-
我在这里快速粘贴了一个jsfiddle.net/mirko77/82ksvuLa,我唯一看到的是将成功/错误回调放在不同的文件中,但我应该这样做吗?
-
该文件的大部分内容可以重构为更小、更有用的函数,也可以变得更简洁。
标签: angularjs angularjs-factory