Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Архитектура #4

Open
clmct opened this issue Jan 17, 2022 · 0 comments
Open

Архитектура #4

clmct opened this issue Jan 17, 2022 · 0 comments

Comments

@clmct
Copy link
Owner

clmct commented Jan 17, 2022

Архитектура проекта MMVM. Проект выдержан в рамках заданной концепции - это круто) Подсветил бы следующий момент - навигация в ViewController. Сейчас получается, что VC знает о сервисах и хранит ссылки на них, отвечает за навигацию. ViewController не должен отвечать за навигацию и хранить ссылки на сервисы, это нарушение SRP. Сервисы в ViewModel, а навигация в отдельной сущности (координатор). Хорошея статья Принципы SOLID, о которых должен знать каждый разработчик на тему SOLID. За навигацию в проекте должна отвечать отдельная сущность. Я бы предложил вынести эту логику в Router, Assembly (Builder) или Coordinator. Router отвечает за навигацию в приложении в Assembly за сборку модуля. Coordinator же берет на себе роль сборщика и роль навигации. Использование routing позволит переиспользовать сборку и навигацию в коде, делать код менее зависимым и гибким. Подробно о навигации: роутер и координтор.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant