2012-06-25 1 views
2

Я строию поселенцев Catan в надежде получить понимание правильных шаблонов проектирования MVC.MVC - преодоление разрыва между моей моделью и ее экранным представлением

Я создал объекты Core Data, названные Tiles и Corners, которые представляют игровое поле, и каждая плитка имеет отношения «один ко многим» с ее (6) углами. Они представляют мою «Модель».

Я также создал соответствующие классы «View Controller», которые представляют это физическое представление фрагментов и углов, нарисованных на экране. Я назвал эти классы Cocos2D BoardTiles и BoardCorners.

Как эффективно исследовать отношения, которые я создал в модели, с помощью контроллеров View?

Я пробовал:

1) Предоставление ВК ссылку на его соответствующий сущности Core Data

2) Query аудируемого уголки (boardTile.tile.corners)

3) Возьмите полученные углы CoreData и запросите своего владельца VC через уникальный идентификационный поиск.

Есть ли лучший способ структурировать это, чтобы у контроллеров просмотра был более простой способ доступа к данным отношений модели?

ответ

1

Игры - очень плохой способ понять MVC, потому что они имеют тенденцию иметь такой небольшой домен модели.

Модель и представление представляют собой категории/коллекции/области объектов. Эти объекты полностью автономны.

Я создал объекты Core Data, называемые Tiles and Corners, которые представляют игровое поле, и каждая плитка имеет отношения «один ко многим» с ее (6) углами. Они представляют мою «Модель».

Плитки и уголки принадлежат вашему домену вида (объекты Visual).

Примером, который может жить в Модели, является некоторая форма системы здравоохранения или денежной системы. В то время как ваш главный герой имеет здоровье, он не представляет (в общем) эту информацию, у вас будет какой-то индикатор прогресса или%.

индикатор выполнения - объект View, а stat, относящийся к системе работоспособности, хранится в объекте Model. Ваш домен системы здравоохранения будет иметь правила/политики и другие классы/объекты.

+0

Если честно, стратегические игры имеют тенденцию иметь огромную базу данных ресурсов/предметов/случайных вещей. Но точка зрения, развивающая настоящую ** игру ** не связана с MVC. – Flater

Смежные вопросы