typescript - 传递一个可注入服务的参数是一个好习惯吗?
问题描述
将作为可注入服务的参数传递给函数是一种好习惯吗?
大家好,我尝试了一些研究,但我还没有找到上述问题的答案。我正在使用 angular 并面对一些代码,这些代码让我感到困惑要遵循/避免什么做法?
设想:
购物工具.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 ..)的答案是否相同?
任何想法表示赞赏!
解决方案
如果bService
多次重复使用,很明显将服务移动到类的构造函数中。但是,如果只使用一次,则可以选择如何处理。在当前代码中,您甚至不必创建ShoppingUtil
类,因为当它只有静态函数时,不需要构造该类。您可以直接从 Util 创建命名空间或导出函数。或移动buildShopingNote
到BService
推荐阅读
- ionic-framework - iIonic 4 离子标签
- python - 将对象插入多处理管理器,dict
- javascript - 导入外部 javascript (clamp.js) 以进行线钳位不起作用
- ruby-on-rails - 设计视图不渲染,API 配置中的 Rails 5
- mysql - 如何根据逗号分隔值从数据库中获取数据
- docker - nginx: [emerg] "http" 指令在 /etc/nginx/conf.d/default.conf:1 中是不允许的
- php - 在 php 中发送消息后如何获取 SMTP 错误?
- azure - Azure 数据工厂管道“失败”
- java - 在 Java Swing 中从原始生成 HiDPI ImageIcon
- javascript - 如何检索包含特定文本的类的数据索引?