对于NodeJS来说还是个新手我想知道以下问题的最佳方法是什么。
我的主应用程序接受变量,包括device_type
和payload
。此payload
需要解密的方式取决于device_type
。
避免使用大案例/开关或if子句,并且只需在需要时插入新设备;我正在寻找一种更面向对象的方法。
在PHP中,我会为每个设备创建一个类,然后加载'因此,他们使用装饰器从正确的命名空间。每个类都有一个decrypt()方法(使用契约强制执行)
我如何在nodejs中完成相同的结构?
答案 0 :(得分:1)
嗯,正如您自己建议的那样,您可以将它们作为模块编写,然后根据您提到的设备类型包含它们。
假设您已经创建了模块并将它们放在适当的目录中
var decryptors = {
device_type_1: 'decryptor_module_1',
device_type_2: 'decryptor_module_2',
};
var decryptor = require(decryptors[input.device_type]);