Полагаю, что реальный ответ таков: если вы знаете, что делаете, и у вас есть хорошие знания о том, как это сделать безопасно, тогда обязательно.
Но так как вы 'Вы спрашиваете: мой ответ - нет.
Статическая переменная, которую вы показываете здесь, является одноэлементным шаблоном, если вы используете его везде.Шаблон singleton часто кажется правильным, но в тот момент, когда вы начинаете добавлять потоки и хотите использовать другого поставщика данных, все становится глючным, более сложным и уродливым. Вам лучше использовать внедрение зависимостей с фабричным шаблоном с использованием объекта , который вы создали только один раз.
Это действительно не намного больше кода, чтобы сделать это таким образом.Выбор становится только тогда, когда вы хотите внедрить его (время компиляции или время выполнения), и Swift делает все это довольно легко.Дайте мне знать, если вы хотите редактировать с примером.Это немного больше кода, чтобы сделать это таким образом, но в долгосрочной перспективе для большинства ситуаций это избавит вас от душевных страданий.Проведите исследование о плюсах и минусах синглтона.Большинство соглашается, что это плохая идея в большинстве ситуаций.
Я собираюсь добавить отрывок из книги , который я НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ:
Основные проблемы могут быть вызваны глобальными состояниями, например,использование Singletons или статических членов в тестируемом устройстве.Мало того, что Singletons увеличивают связь между программными единицами.Они также часто имеют глобальное состояние, которое обходит независимость модульных тестов.Например, если определенное глобальное состояние является предварительным условием успешного теста, но предыдущий тест изменил это глобальное состояние, это может вызвать серьезные проблемы.Особенно в старых системах, которые часто завалены синглетонами, возникает вопрос: как я могу избавиться от всех этих неприятных зависимостей от этих синглетонов и сделать мой код лучше тестируемым?Что ж, это важный вопрос, который я обсуждаю ...
В этой книге также приводится интервью с авторами знаковой книги Шаблоны проектирования , где авторы в основном говорят, что онине против выбросить шаблон синглтона, потому что он никогда не используется правильно.
Авторы знаковой и влиятельной книги об абстрактных шаблонах дизайна шутят (я думаю, что это шутка) об исключении шаблона синглтон-дизайна из недавно пересмотренной версии их книги ...
Возможно, реальный ответ на самом деле всегда - нет.