我的问题是我们尝试使用 MVC (PHP) 框架。在讨论了很多之后认为MVC非常好,但是我错过了编写可重用模型(应用程序)逻辑的可能性。所以,我不确定我们是否有正确的方法在 MVC 框架中实现我们的软件。
首先,我将描述我们目前使用的非 MVC OO 方法。
例如 - 我们正在开发一些浏览器游戏(是的,这就是我们的专业)。假设我们有一个玩家对象。我们经常使用这个玩家对象。我们有一些不同的页面,您可以在其中购买想法,因此您需要在玩家的“银行账户”上进行“金钱”交易,或者想象您可以与其他玩家进行战斗。我们有几个战斗脚本,这些脚本需要 2 个或更多玩家对象(这取决于战斗的类型,即部落战斗、玩家对玩家战斗......)。
因此,我们有几个具有不同战斗逻辑的页面(和控制器)。但是每个控制器都使用玩家对象来计算玩家拥有的所有属性和物品,以及玩家将造成的伤害和防御。
那么,在 MVC 模型的情况下,我们如何重用播放器对象中的逻辑呢?在不同的战斗控制器和模型中复制所有必要的逻辑会很糟糕。
我认为“黄金交易”逻辑将是一个很好的例子,可以为您提供更多详细信息。打架时你需要交易功能,如果你赢了其他玩家并掠夺了他的一些金币,你需要交易功能以防购买一些东西,你需要交易功能以防花费一些金币给玩家公会...
所以,我会说在一个玩家模型中定义所有这些功能是一种糟糕的方法!我可以说你这些玩家模型会非常大(实际上我们的问题是我们的玩家等级真的很大——它是一个神等级)
你认为这个问题有 MVC 风格的解决方案吗?