Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有哪些技术可以拆分大型angularjs服务?_Angularjs_Angularjs Service_Code Structure - Fatal编程技术网

有哪些技术可以拆分大型angularjs服务?

有哪些技术可以拆分大型angularjs服务?,angularjs,angularjs-service,code-structure,Angularjs,Angularjs Service,Code Structure,目前,我正在重建一个大型angularjs控制器(1000多行),该控制器使用一个大型angularjs服务(1000多行)。我想将大部分业务逻辑从控制器推送到服务,但服务越来越难以维护。用于定义边界和拆分大型服务的技术有哪些 在我们的服务中,我们有一些公共函数,它们是对api的http调用的包装器,还有一些公共函数,它们只执行业务逻辑。基于api调用/业务逻辑拆分文件是个好主意吗。或者我应该尝试另一种方法来拆分文件,将api调用和中继业务逻辑分组在同一个文件中吗?我通常将功能业务逻辑拆分为三个

目前,我正在重建一个大型angularjs控制器(1000多行),该控制器使用一个大型angularjs服务(1000多行)。我想将大部分业务逻辑从控制器推送到服务,但服务越来越难以维护。用于定义边界和拆分大型服务的技术有哪些


在我们的服务中,我们有一些公共函数,它们是对api的http调用的包装器,还有一些公共函数,它们只执行业务逻辑。基于api调用/业务逻辑拆分文件是个好主意吗。或者我应该尝试另一种方法来拆分文件,将api调用和中继业务逻辑分组在同一个文件中吗?

我通常将功能业务逻辑拆分为三个子服务,并将它们放在单独的文件中:
feature.manager
feature.utils
feature.service

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

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


feature.manager
包含大部分业务逻辑,它应该依赖于
feature.utils
feature.service

这有点宽泛和模糊,我不知道你是如何管理这些控制器和服务的-但通常每个路线使用一个控制器是一个好主意,以避免这种情况-但就像我说的,你必须提供更多关于这方面的信息。。。