Выбор синглтона или категории?

Довольно рано в моем приложении, когда я был намного менее опытен, чем сейчас, я хотел оживить некоторые переходы между контроллерами представления с помощью собственных пользовательских анимаций. Не зная, с чего начать, я поискал в SO шаблон, подобный MVC, к которому можно было получить доступ практически из любого контроллера в любое время, и, как оказалось, синглтон — это то, что нужно.

Чего я не осознавал, так это того, что существует сильная и хорошо защищенная ненависть к шаблону singleton, и я сам начинаю понимать, почему, но это не относится к делу.

Поэтому некоторое время спустя я решил переместить ту же самую реализацию в категорию UINavigationController (в конце концов, он обрабатывает переходы!), оставил исходные классы для сравнения, и мне интересно, какой метод будет работать лучше всего. Тщательно протестировав обе реализации, я могу без сомнения сказать, что они одинаковы во всех отношениях, включая скорость, точность, плавность, частоту кадров, использование памяти и т. д., так что какая из них «лучше» в смысле общей ремонтопригодности?

РЕДАКТИРОВАТЬ: после прочтения хорошо написанных аргументов, которые вы все привели, я решил использовать синглтон. @JustinXXVII привел наиболее убедительный аргумент (ИМХО), хотя я считаю каждый ответ здесь одинаково достойным внимания. Спасибо всем за ваши мнения, я проголосовал за все ответы в вопросе.

5
задан CodaFi 2 April 2012 в 21:01
поделиться