Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как работать с паттерном MVVC? Почему они такие сложные?

ястреб ворон Мыслитель (7202), на голосовании 2 недели назад
Я пытаюсь переписать приложение Телефон с использование паттерна MVVM.
Вот примерная файловая струтура проекта.
 lib/ 
|-- models/
| |-- UserData.dart
|
|-- viewmodels/
| |-- contacts_view_model.dart
|
|-- views/
| |-- Favorites/
| | |-- favorites_screen.dart
| |
| |-- Recently /
| | |-- recently_screen.dart
| |
| |-- Contacts/
| |-- contacts_screen.dart
| |-- add_contact.dart
|
|-- main.dart
Я правильно понял что список контактов должен находится в viewmodel и список вызовов??
Вот мы находится в contacts_screen мы надимаем на кнопку добавить пользователя он перезодит в окно add_contact после ввода данных он должен связаться с contacts_view_model который создат экземпляр класса UserData в viewmodel и сохранит туда данные??

И как получить дженерик UserData через viewmodel??
Голосование за лучший ответ
М . Мастер (2139) 1 месяц назад
1) По правде тут чертовски странный нейминг. Не в src или bin, в lib пишите программу... Где при этом должны храниться библиотеки не ясно.
2) Не знаю что внутри файлов, но написано «screen», то есть, экран. При чем тут тогда модели для меня вообще загадка.
ястреб воронМыслитель (7202) 1 месяц назад
Ну это Flutter. Во Flutter все что пишет пользователь кладëт в папку lib (и приложения для примера и приложения у блогеров все туда кладут), а там уже по подпапкам.

Ну эту файловую структуру chat gpt так накидал.
Вот у меня есть три кнопки навигации.
Favirite (самые важные контакты), Recently (список входящих/исходящих), Contacts (список контактов, и здесь есть кнопка для добавления пользователя. При нажатии он открывает новое окно и там поля ввода Имя,Фамилия, Номер и тд).

Ну MVVM это же model, view, viewmodel.
view это визуальный экран, функции в viewmodel, и в model данные классова к примеру
UserData{
String firstName;
String lastName;
String numbers;
...
}
Похожие вопросы