Oop 在这种情况下如何处理代码重用?
我开始为HTML5游戏制作引擎。很快,我对另一个项目产生了兴趣,基本上是进化模拟。模拟将在服务器上运行,但实际渲染将在客户端进行。我意识到我可以在服务器端使用游戏引擎中的大部分类和代码 现在,我不知道该怎么办。我可以选择创建一个“单片引擎”,它将同时具有特定功能和通用功能。或者,我可以创建一个单独的“游戏引擎”,并使用它渲染模拟和制作游戏,以及一个单独的具有模拟特定功能的“模拟引擎” 单授权方法存在代码库中的代码太大和不相关的问题,而单独的方法存在两个代码库中的类相同的问题 我如何处理这种情况Oop 在这种情况下如何处理代码重用?,oop,code-reuse,Oop,Code Reuse,我开始为HTML5游戏制作引擎。很快,我对另一个项目产生了兴趣,基本上是进化模拟。模拟将在服务器上运行,但实际渲染将在客户端进行。我意识到我可以在服务器端使用游戏引擎中的大部分类和代码 现在,我不知道该怎么办。我可以选择创建一个“单片引擎”,它将同时具有特定功能和通用功能。或者,我可以创建一个单独的“游戏引擎”,并使用它渲染模拟和制作游戏,以及一个单独的具有模拟特定功能的“模拟引擎” 单授权方法存在代码库中的代码太大和不相关的问题,而单独的方法存在两个代码库中的类相同的问题 我如何处理这种情况
如果它改变了什么,我将使用Javascript进行编码。听起来您需要分离两种用法之间的共同功能,并将这些片段提取到自己的库中,我将其称为“引擎核心”。然后你基本上有三件事:“游戏引擎”,“模拟引擎”和“引擎核心”。游戏引擎和模拟引擎都会引用引擎核心,所以每当您对引擎核心进行更新时,游戏引擎和模拟引擎都会收到更新。如何精确地实现这一点取决于你使用的语言,但是这个想法是相同的。在C或C++中,你会把你的通用代码存档到可以链接的库中,在java中你会使用包,在perl中你会使引擎成为一个单独的模块。无论使用何种语言,这都是正确的做法。