Comments 5
Здравствуйте, в данный момент разрабатываю проект на viper. Если использовать generamba для создания модулей, то никаких особых проблем/замедлений/избытка кода это не влечет, а вот то, что все пишется в одном виде, очень сильно улучшает читаемость. К тому же, если мы пилим какой-нибудь сверх простой компонент (например обобщенный выбор из списка), то можно использовать обычный mvc. В связи с этим вопрос, а действительно ли нужно плодить новые архитектуры?
VIPER я тоже использовал в 3-4 проектах как минимум, но не могу не отметить, что Presenter при классическом подходе часто получается излишне раздутым (часто выполняет роль мостика), если интерактивности много. Поэтому со временем я все-таки отошел от него.
Я не говорю, что пложу новые архитектуры: я лишь заметил, что мне удобнее оказалось пользоваться более упрощенным вариантом построения кода, которым наверняка итак уже пользуются многие.
К тому же, тут добавляет синтаксическое удобство блочность вместо вызова input/output делегатов, на мой взгляд…
Я не говорю, что пложу новые архитектуры: я лишь заметил, что мне удобнее оказалось пользоваться более упрощенным вариантом построения кода, которым наверняка итак уже пользуются многие.
К тому же, тут добавляет синтаксическое удобство блочность вместо вызова input/output делегатов, на мой взгляд…
Интересная статья, использую в своем проекте некоторые мысли изложенные выше. Но вот вопрос, как вы работаете с маленькими модулями, которые ограничены uiview и производными, типо сильно сложная ячейка таблицы или просто вьюха, которую стоит выделять в отдельный модуль? Так же интересен вопрос, как перебрасывать данные из одной точки приложения в другую, то есть допустим у меня есть раздел магазин и есть раздел профиль и какие то действия, влияют на изменения в профиле
как вы работаете с маленькими модулями, которые ограничены uiview и производными
Если суть только в пассивном отображении, то я не использую для таких случаев отдельный модуль, ибо совершенно незачем.
типо сильно сложная ячейка таблицы
Если сложность заключается в плотности размещения информации, то я не могу считать это сложной ячейкой: могу назвать ее просто визуально загруженной.
которую стоит выделять в отдельный модуль
Если же попадается часть интерфейса, которая визуально сложна, обладает какой-то дополнительной логикой или же вовсе любит жить своей жизнью, то в этом случае для нее нередко организуется отдельный модуль, да.
как перебрасывать данные из одной точки приложения в другую, то есть допустим у меня есть раздел магазин и есть раздел профиль и какие то действия, влияют на изменения в профиле
Я использую в основном два способа проброса данных (а порой применяю их вместе):
— callback, он показан в том числе в демо-проекте;
— broadcast, при котором тот, кто умеет информацию менять, дает об этом знать, а его слушатели подписываются и реагируют (можно использовать NotificationCenter, но я стараюсь его применять только в тех случаях, когда собственный механизм сложен либо избыточен в пробрасывании вглубь кода).
Наверное я слышком молод для этих крутых архитектур…
Вспомнился твит про то, как выбрать тему для доклада с помощью генератора архитектур.
Вспомнился твит про то, как выбрать тему для доклада с помощью генератора архитектур.
Sign up to leave a comment.
SILVER: как я проектирую приложения для iOS