使用Typescript,我有2个函数,其中它们具有完全相同的函数代码。因此,我决定将该通用函数放入其自己的文件中。
但是我已经像下面一样完成了它 - 并且想知道我是否应该创建一个具有该功能的抽象类(其他人很快就会进入那里(。还是像我现在所做的那样nice
保留它。
所以文件 1:
import { sharedFunction } from "../common/actions";
export async function onTrigger(context: Context, documents: Resource[] | null): Promise<void> {
sharedFunction(aParamFile1, bParamFile1)
}
文件 2:
import { sharedFunction } from "../common/actions";
export async function onTrigger(context: Context, documents: Resource[] | null): Promise<void> {
sharedFunction(aParamFile2, bParamFile2)
}
具有共享功能的操作文件:
export async function sharedFunction(input1: someType, input2: someType){
//Do something
}}
我想知道它是否应该是一个抽象类的原因是说我有几个函数想在file1
中使用,或者file2
我需要将它们全部列在顶部的import
行中。这是否被视为untidy
设计或可以接受?我想知道是否可以避免它,所以myAbstractClass.sharedFunction
呢?
但另一方面,我不明白该onTrigger
函数如何扩展该抽象类作为函数。
任何想法/建议表示赞赏。
谢谢。
与其引入人工命名空间类(您并不真正需要(,不如将导入更改为:
import * as shared from '../common/actions';
这将从该模块导入所有内容。然后在这样导入的函数前面加上 shared.
前缀。