You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Всем привет. Я стал часто сталкиваться с такой задачей, что нужно переиспользовать какую-то логику на нескольких экранах, то есть модулях. Например, внизу показывается небольшая группа пользователей, которая
грузится из интернета, на обновления которых пользователь может подписаться. Плюс на любом экране нужно показывать сообщение в виде view'хи, в которой отображается статус об отсутствии интернета, под navigation bar'ом. Это такие задачи, которые затрагивают сразу несколько слоев VIPER модуля. То есть копировать весь код в каждый модуль ведет к тому, что если эта общая логика меняется, то надо вносить изменения во всех местах. Делать расширения через базовые протоколы накладывает ограничение на изменение состояния модуля, то есть можно делать какие-то простые действия в духе открыть какой-то экран, показать alert с сообщением, но грузить данные из интернета, обновлять массив ячеек, потом обновлять UI, для этого расширение уже нельзя использовать.
Поделитесь, пожалуйста, как вы решаете подобные проблемы в своих проектах в плане переиспользования комплексной логики?
The text was updated successfully, but these errors were encountered:
Всем привет. Я стал часто сталкиваться с такой задачей, что нужно переиспользовать какую-то логику на нескольких экранах, то есть модулях. Например, внизу показывается небольшая группа пользователей, которая
грузится из интернета, на обновления которых пользователь может подписаться. Плюс на любом экране нужно показывать сообщение в виде view'хи, в которой отображается статус об отсутствии интернета, под navigation bar'ом. Это такие задачи, которые затрагивают сразу несколько слоев VIPER модуля. То есть копировать весь код в каждый модуль ведет к тому, что если эта общая логика меняется, то надо вносить изменения во всех местах. Делать расширения через базовые протоколы накладывает ограничение на изменение состояния модуля, то есть можно делать какие-то простые действия в духе открыть какой-то экран, показать alert с сообщением, но грузить данные из интернета, обновлять массив ячеек, потом обновлять UI, для этого расширение уже нельзя использовать.
Поделитесь, пожалуйста, как вы решаете подобные проблемы в своих проектах в плане переиспользования комплексной логики?
The text was updated successfully, but these errors were encountered: