Я борюсь с шаблонами дизайна и хотел бы следовать лучшим практикам при переписывании моего текущего приложения с Objective-C на Swift.iOS Design Pattern Implementation
У меня есть игра, в которой игрок получает дополнительные баллы/специальные призы за, скажем, решение определенного количества уровней. Достигнуты несколько этапов (например, 10 уровней завершены/50 уровней завершены). У меня разные режимы игры, поэтому у меня есть несколько подклассов класса Gameplay. После поворота каждого игрока -checkSolution
вызывается, чтобы проверить, решил ли игрок уровень. В случае успеха я увеличиваю игровой счет игрока и отправляю его на новый уровень. И здесь я также вызываю -checkForMilestone
класса ScoreManager, чтобы проверить, достигнут ли какой-либо из этапов.
Я не уверен, можно ли позвонить -checkForMilestone
внутри -checkSolution
. Или было бы лучше создать обратный вызов с использованием блоков или использовать KVO для наблюдения (из класса ScoreManager), был ли счет игрока изменен, а затем отреагировать соответствующим образом.
Спасибо. Думаю, я должен пойти с Наблюдателем. Я просто знаю, что в будущем мой контроллер просмотра будет встроен в массивный контроллер просмотра. – autobot