对于我正在从事的项目,我编写的内容之一是 Angular UI Bootstrap Calendar control 的可实例化服务.
您可以看到它的操作者 here .
我遇到的代码问题更多的是架构和最佳实践问题。具体来说,我认为我已经编写了一个 Angular 反模式。
服务 - 如 calendarSvc
- 是单例,但我通过使工厂返回构造函数来明确规避这一点。
话虽如此,单页上存在 1-n 个日历是有具体业务需求的。这段代码是对管理单个日历所需的代码的有效重构,因此它肯定有助于使代码更加 DRY。
问题:这种可实例化服务有哪些有效的替代方案,仍然允许我根据需要指定可重用日历对象的实例,但又不会绕过管理代码的 Angular 方式?
最佳答案
您所做的不是反模式,而是最佳实践! 例如,请参阅此样式指南页面:http://github.com/mgechev/angularjs-style-guide#services 。
您没有规避 Angular 方式。 factory的想法是返回构造函数的可能性。创建服务的另一个替代方案是 service - 模块的方法,将使用 new
关键字自动实例化您的服务。
另请参阅 StackOverflow 的其他答案作为引用:https://stackoverflow.com/a/20110304/669561
关于javascript - 可实例化的 Angular 服务 - 我还能用什么其他方式重写它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26509352/