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

标签 javascript inheritance

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

我决定将代码分为三部分:核心、客户端和服务器。正如您可能怀疑的那样,我将 Core 用于我们在客户端和服务器端都需要的代码。

到目前为止,我一直在扩展相应的核心类,例如Client/Player 扩展了 Core/Player,效果很好。

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

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

最佳答案

我最后所做的是使用一种预处理器进行黑客攻击。在开始之前,我将 Core/Player 中的 require("Core/GameObject") 替换为 require(context + "/GameObject")。通过这种方式,我创建了一种“z”,它允许我从两者继承。

关于javascript - 浏览器和服务器之间的代码共享(继承),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20472920/

相关文章:

Java:如果这是instanceof Something,则显示仅属于Something的变量?

具有两种类型的 Java 自引用泛型

javascript - 创建秒表/计时器以及 60fps 的 Canvas 动画

javascript - 表单提交 checkscript() javascript

javascript - slider handle 超出水平 slider

java - 为什么这段代码不能编译?

javascript - dc.js x 轴不会将刻度显示为月份,而是显示小数

javascript - 是否可以使用复选框更改多行值?

具有泛型的 Swift 类允许父类(super class)不可访问

perl - Perl 中的多级继承