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
Архитектура проекта MMVM. Проект выдержан в рамках заданной концепции - это круто) Подсветил бы следующий момент - навигация в ViewController. Сейчас получается, что VC знает о сервисах и хранит ссылки на них, отвечает за навигацию. ViewController не должен отвечать за навигацию и хранить ссылки на сервисы, это нарушение SRP. Сервисы в ViewModel, а навигация в отдельной сущности (координатор). Хорошея статья Принципы SOLID, о которых должен знать каждый разработчик на тему SOLID. За навигацию в проекте должна отвечать отдельная сущность. Я бы предложил вынести эту логику в Router, Assembly (Builder) или Coordinator. Router отвечает за навигацию в приложении в Assembly за сборку модуля. Coordinator же берет на себе роль сборщика и роль навигации. Использование routing позволит переиспользовать сборку и навигацию в коде, делать код менее зависимым и гибким. Подробно о навигации: роутер и координтор.
The text was updated successfully, but these errors were encountered:
Архитектура проекта MMVM. Проект выдержан в рамках заданной концепции - это круто) Подсветил бы следующий момент - навигация в ViewController. Сейчас получается, что VC знает о сервисах и хранит ссылки на них, отвечает за навигацию. ViewController не должен отвечать за навигацию и хранить ссылки на сервисы, это нарушение SRP. Сервисы в ViewModel, а навигация в отдельной сущности (координатор). Хорошея статья Принципы SOLID, о которых должен знать каждый разработчик на тему SOLID. За навигацию в проекте должна отвечать отдельная сущность. Я бы предложил вынести эту логику в Router, Assembly (Builder) или Coordinator. Router отвечает за навигацию в приложении в Assembly за сборку модуля. Coordinator же берет на себе роль сборщика и роль навигации. Использование routing позволит переиспользовать сборку и навигацию в коде, делать код менее зависимым и гибким. Подробно о навигации: роутер и координтор.
The text was updated successfully, but these errors were encountered: