将可注入服务的参数传递给函数是一种好习惯吗?
大家好,我尝试了一些研究,但仍无法找到上述问题的答案。 我正在使用angular并面对一些代码,这些代码使我感到困惑,该遵循/避免哪种做法?
场景:
shopping-util.ts
export class ShoppingUtil {
public static buildShopingNote(material, bService: BService) {
if (!material) {
return '';
}
return bService.doSomeThing(material);
}
}
b-service.ts
@Injectable()
export class BService {
public doSomeThing(input): string {
let result = 'do something with input';
return result;
}
}
我想知道是否应该将功能“ buildShopingNote”移至业务服务,以便在服务初始化时注入BService吗? 对于其他编程语言(Java,C ..),我认为答案是相同的吗?
任何想法都值得赞赏!
答案 0 :(得分:0)
如果您多次重复使用bService
,则很明显要将服务移至类的构造函数。但是,如果仅使用一次,则可以选择处理方式。在当前代码中,您甚至不必创建ShoppingUtil
类,因为在只有静态函数的情况下不必构造该类。您可以创建名称空间,也可以直接从Util中导出函数。或将buildShopingNote
移至BService