模型/视图分离

问题描述:

假设我正在制作视频游戏。玩家有X和Y坐标,这些值是Player对象的成员。让我们假设我正在使用假设的GAME-X游戏引擎,它使用GX_xGX_y值呈现每个对象。模型/视图分离

如果我想从视图(GAME-X)域(Player)分开,这是我的理解是,球员应该有自己的XY坐标被独立操纵,以及GX_xGX_y只是“听”到玩家当前的坐标。这样做会允许我选择一个新的游戏引擎,同时保持域层不变。这也意味着游戏本质上可以在严格的域级上运行。

这是一个很好的设计策略吗?如果不是,为什么?如果是这样,那么这个策略的真名是什么?我如何在整个系统中改进它?

球员应该有自己的X和Y坐标被独立操纵 和GX_x和GX_y只是“听”到玩家的 当前坐标。

这是正确的策略。由于GX_x,GX_y是演示级别,可以是设备/分辨率/引擎特定的。

考虑2个电话,分辨率为480*320960*640。您的模型中的x,y应该是相同的(两个手机中运行相同的代码),而GX_xGX_y在两个设备上都不相同。

这是你正在谈论的Model View Controller模式。

选择新的游戏引擎,同时保持域图层不变。它也意味着游戏本质上可以运行在严格域名 的关卡中。

这些是使用模式的优点和原因。