MVC - 缩小我的模型与其屏幕表示之间的差距

时间:2012-06-25 16:24:21

标签: ios model-view-controller core-data

我正在构建一个Settlers of Catan游戏,希望能够了解正确的MVC设计模式。

我创建了名为TilesCorners的核心数据实体,它们代表游戏板,每个磁贴与其(6)角有一对多的关系。这些代表我的“模特”。

我还创建了相应的“视图控制器”类,它们代表了屏幕上绘制的图块和角落的这些物理表示。我打电话给这些Cocos2D课程BoardTilesBoardCorners

如何通过View Controllers高效探索我在模型中创建的关系?

我试过了:

1)为VC提供对应的核心数据实体的引用

2)查询实体的角落(boardTile.tile.corners)

3)获取生成的CoreData角点,并通过唯一的ID查找查询其VC'所有者'。

是否有更好的方法来构建它,以便View Controllers可以更轻松地访问模型的关系数据?

1 个答案:

答案 0 :(得分:1)

游戏是理解MVC的一种非常糟糕的方式,纯粹是因为它们往往拥有如此小的模型域。

模型和视图是对象的类别/集合/域。这些对象完全独立。

  

我创建了名为Tiles和Corners的核心数据实体,代表游戏板,每个磁贴与其(6)角有一对多的关系。这些代表我的“模特”。

Tiles和Corners属于您的View域(可视对象)。

可能存在于模型中的一个例子是某种形式的卫生系统或货币系统。虽然你的主角有健康,但他(通常)并不代表这些信息,你会有某种进度条或%数字。

进度条是View对象,与健康系统相关的统计信息存储在Model对象中。您的健康系统域将具有规则/策略以及其他类/对象。

相关问题