有什么技术可以拆分大型angularjs服务?

时间:2019-04-01 15:00:52

标签: angularjs angularjs-service code-structure

当前,我正在重建一个大型angularjs控制器(1000多个行),并且此控制器正在使用一个大型angularjs服务(1000多个行)。我想将许多业务逻辑从控制器推送到服务,但是服务变得难以维护。用于定义边界和拆分大型服务的技术有哪些?

在我们的服务中,我们具有一些公共函数,这些公共函数是对api的http调用的包装,而公共函数则仅用于执行业务逻辑。根据api调用/业务逻辑拆分文件是否是一个好主意。还是我应该尝试寻找另一种分割文件的方法,将api调用和中继业务逻辑分组在同一文件中?

1 个答案:

答案 0 :(得分:1)

我通常将要素业务逻辑分为三个子服务,并将它们放在单独的文件中:feature.managerfeature.utilsfeature.service

feature.service包含所有异步调用(ajax,websocket等),该服务没有实际的业务逻辑,它仅处理客户端和服务器之间的通信。

feature.utils包含所有实用程序方法,例如业务数据结构转换,此服务中的主要方法应该可以使用。

feature.manager包含大部分业务逻辑,它应取决于feature.utilsfeature.service