我一直在质疑自己将与 API 对话的服务放在我的 Angular 应用程序中的正确位置。最初,我认为最好的位置应该在功能模块中,但我对此表示怀疑。
假设我有延迟加载的模块FeatureA,由于 API 端点,它在我的数据库中对一个表进行了 CRUD,所以我将FeatureAService作为我的FeatureAModule的提供者。
但是假设我有另一个需要读取信息的延迟加载模块FeatureB 。我已经有一个功能可以帮助我在我的FeatureAService中做到这一点,所以我可以重用它,但我需要提供服务。
我可以将我的FeatureAModule导入到我的FeatureBModule 中,但我认为这也会带来FeatureA的所有组件。我可以将我的FeatureAService放在我的FeatureA和FeatureB之间共享的第三个模块中,但这引出了一个问题:是否应该将所有数据服务放在所述模块中,以便它们可以在整个应用程序中使用?