当前,我正在重建一个大型angularjs控制器(1000多个行),并且此控制器正在使用一个大型angularjs服务(1000多个行)。我想将许多业务逻辑从控制器推送到服务,但是服务变得难以维护。用于定义边界和拆分大型服务的技术有哪些?
在我们的服务中,我们具有一些公共函数,这些公共函数是对api的http调用的包装,而公共函数则仅用于执行业务逻辑。根据api调用/业务逻辑拆分文件是否是一个好主意。还是我应该尝试寻找另一种分割文件的方法,将api调用和中继业务逻辑分组在同一文件中?
答案 0 :(得分:1)
我通常将要素业务逻辑分为三个子服务,并将它们放在单独的文件中:feature.manager
,feature.utils
和feature.service
feature.service
包含所有异步调用(ajax,websocket等),该服务没有实际的业务逻辑,它仅处理客户端和服务器之间的通信。
feature.utils
包含所有实用程序方法,例如业务数据结构转换,此服务中的主要方法应该可以使用。
feature.manager
包含大部分业务逻辑,它应取决于feature.utils
和feature.service