Зачем нам нужен отдельный одноэлементный класс в iOS для обработки глобальных переменных через одноэлементный AppDelegate? - PullRequest
0 голосов
/ 20 сентября 2019

В iOS AppDelegate является одноэлементным классом, тогда зачем мне нужен отдельный одноэлементный класс для обработки глобальных переменных?Почему бы не использовать AppDelegate как глобальный синглтон?Любая конкретная причина этого.

1 Ответ

1 голос
/ 20 сентября 2019

Основная причина, вероятно, сводится к разделению концерна.Например, если у вас есть те же данные, которые должны отображаться во всем приложении, вы можете создать класс Singleton с именем DataManager, который занимается извлечением, сохранением, редактированием и удалением этих данных.Да, вы можете добавить все те же функции через App Delegate, и в результате они могут быть одинаковыми, но если организованный и читаемый код является проблемой для разработчика (и определенно проблемой, если вы разрабатываете для компании, илиожидайте, что кто-то еще, возможно, продолжит работу с вашим кодом), тогда, если вы сделали синглтон DataManager, кто бы ни работал над кодом, он может четко понимать, какие обязанности этого класса основаны на его названии.

Создание отдельных классов также помогает вам уменьшить наличие огромных классов, которые становятся трудными для понимания.Если в вашем приложении есть DataManager, APIManager и другой менеджер, то объединение всех этих функций в один AppDelegate может привести к путанице по мере роста вашего приложения.

...