节点js中的静态类方法或纯函数

时间:2018-11-08 16:46:11

标签: node.js oop functional-programming

由于学习,我通常使用静态类方法和OOP而不是纯函数和函数式编程。我的一些同事不知道为什么,我也不知道哪种方法更好。例如,这是一段代码:

const DynamoDbHelper = class DynamoDbHelper {
    static getTableProperties(tableName) {
       ...
    }
    static async updateTableReadAndWriteCapacities(tableName, readCapacityUnits, writeCapacityUnits) {
        ...
    }
}
module.exports.DynamoDbHelper = DynamoDbHelper;

也可以这样写:

module.exports.getTableProperties = (tableName) => {
    ...
}
module.exports.updateTableReadAndWriteCapacities = async(tableName, readCapacityUnits, writeCapacityUnits) => {
    ...
}

在这种情况下哪个解决方案更好?

1 个答案:

答案 0 :(得分:1)

纯静态类在JavaScript中是反模式。仅在不支持作为独立实体的功能的语言中有效。

如果不打算实例化一个类并充当一个命名空间,则这就是模块的用途。第二个片段是应该如何完成。