VIPER/TCA — это вам не архитектуры
В своем докладе я хотел наглядно и на практике показать, что настоящие проблемы клиентских архитектур это не про то, насколько точно ты следуешь паттерну вроде VIPER.
Дело в реальных вещах. Например в перформансе. Если бы я собирал такой компонент на типовом шаблонном решении, это бы только навредило: красиво по схеме, но медленно и негибко на деле.
Мне нужно было другое: взять один изолированный модуль и разделить его на множество мелких подмодулей.
Раздробить на атомы и связать их между собой паттернами проектирования, DI и другими невидимыми нитями.
Управлять каждым по отдельности как марионеткой.
Как раз в этом и суть архитектуры и систем дизайна. Знать правила чтобы их нарушать. А не слепо следовать. Находить трейдоффы и компромиссы.
Помним классику и статью из крутейшей книги про
переоценивание важности шаблонных схем