Я рассматриваю этот шаблон проектирования для простой IOS игры в крестики-нолики:Базовый шаблон дизайна в простых играх
GameState
синглтон класс, который отслеживает местоположения X и O на платеGameDisplay
singleton класс, который обрабатывает отображение платы и события касания
Это разделение состояния и дисплея кажется разумным imo. GameDisplay
может пересылать ответвления на доске до GameState
, где плата обновляется, и условия победы проверяются. GameState
может в свою очередь рассказать GameDisplay
, чтобы нарисовать еще один X/O или что игра завершена и кто победитель. Мой текущий план заключается в использовании методов, таких как GameState.playAtSquare(Square s)
, для связи между двумя синглтонами.
Является ли этот дизайн жертвой каких-либо серьезных недостатков использования синглетов? iirc есть некоторые разногласия по поводу использования одноэлементных классов.
Вы не объясняете, почему Синглтоны являются злыми. Пожалуйста, см.: Http://www.slideshare.net/kktv/how-is-a-paradigm-created –
Это потому, что я предполагаю, что плакат знает, как зол одного сингла, который, если он помогает избежать этого. – josephthomas