浏览器和服务器之间的代码共享(继承)

时间:2013-12-09 14:22:50

标签: javascript inheritance

我正在用JavaScript编写实时多人浏览器游戏。所以我在服务器(Node.js)和浏览器中运行JS。因此,我想在这两个上下文之间共享代码。

我决定将代码分为三个部分:Core,Client和Server。正如您可能怀疑我使用Core代码,我们需要双方,客户端和服务器。

到目前为止,我刚刚扩展了相应的核心类,例如客户端/播放器扩展了Core / Player,效果很好。

UML 现在我看到,例如,客户端/播放器需要扩展Core / Player以获取name属性,同时需要扩展Client / GameObject以获取render()方法和physics属性。

如果它是用C ++编写的,我可以尝试使用多重继承及其所有缺点。但由于它是用JavaScript编写的,我不知道如何解决这个问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我最终做的是一种带有预处理器的黑客攻击。在开始之前,我用require(context +“/ GameObject”)替换Core / Player中的require(“Core / GameObject”)。这样我创建了一种“z”,它允许我从两者继承。