接受或抵制Node缺乏types安全的问题

我来自一个语言世界(Delphi,PHP,Java),静态types和强大的OOP依从性支撑整个体系结构。 无论是使用抽象类作为外观定义,还是使用接口来支持DI,它们都指导了我开发解决复杂业务问题的架构的能力。

NodeJS(更一般地说是Javascript)的types感非常弱,所以叫做“duck typing”,我发现我不能在Node中使用传统的(和强大的)技术。 如果我想写一些外观到数据库,我可以,当然,但写模拟或存根的人没有方法签名devise反对 – 他/她必须看我的模块(“类”)。 如果我可以使用一个接口,这会容易得多,但事实上,我不能没有一些额外的pipe道。

当在Node中构build复杂的,松散耦合的应用程序时,我是否应该接受这种缺乏input(如果是这样,怎么办?),或者利用Node的OOP库(如DejaVu),从而获得“types安全”运行时types检查。 我倾向于第二个,因为它允许我写一个额外的运行时保护层的合同驱动代码。

弱types(我的意思是弱,而不是静态,dynamic,隐式,显式等)阻碍健壮的代码的开发,和Typescript编译到JavaScript帮助解决这个问题。

Interesting Posts