对应的官方页面地址arrow-up-right
状态:
进行中
发表于:
2022-07-08
ApiService 目前负责处理所有 API 请求。这导致该类演变成了一个 Bloater,目前有 2021 行代码,268 个方法。此外,由于它知道与服务器相关的所有内容,因此还需要导入每个请求和响应,这需要将 ApiService 和请求/响应放在同一个 npm 包中。
ApiService
提取类 -- 我们应该使用提取类重构来分解类,其中每个域上下文应该有自己的 API 服务。 ApiService 应被转换为通用服务,该服务不关心请求或响应是什么,只能在其他 API 服务中使用。
什么也不做 -- 保持原样。
选择的方案:提取类。
这些新类的命名应该表示为 {Domain}ApiService,例如文件夹域应该命名为 FolderApiService。
{Domain}ApiService
FolderApiService
重构示例:
folder-api.service.tsarrow-up-right:创建一个新的服务,将方法从 ApiService 移动到新服务。在此重构期间,我们还将服务器知识从 FolderService 中移出,因为它应该只负责维护其状态。
folder-api.service.ts
FolderService
从 ApiServicearrow-up-right 中删除旧方法。
最后更新于2年前