Урок 80. Архитектуры - MVVM. Пример счетчика

  Рет қаралды 9,981

LazyLoad Dart & Flutter

LazyLoad Dart & Flutter

2 жыл бұрын

Пожертвования - boosty.to/lazyloadflutter
______
Канал с анонсами в телеграм - t.me/lazyload_flutter
______
Группа в телеграм - t.me/learnDartFlutter
______
Группа в вк - club203125105
______
Код урока для подписчиков boosty - github.com/JonFir/lazyload_fl...

Пікірлер: 56
@user-ge7tb3nl9k
@user-ge7tb3nl9k Жыл бұрын
Со временем становится скучно, но провайдеры вернули мой интерес. Спасибо за уроки.
@zymixx6611
@zymixx6611 Жыл бұрын
искал медь, а нашёл золото. отличные уроки!
@KBOOMSKA
@KBOOMSKA Жыл бұрын
Огромнейшая благодарность за такой объемный и подробный урок!
@RubicsGuide
@RubicsGuide 2 жыл бұрын
Спасибо за видео. Очень нужная тема, а самое классное, что даже на таком простом примере получилось показать, как можно сделать MVVM, а не только VVM. :)
@mishakalyna
@mishakalyna 2 жыл бұрын
Ко всем видео на канале лайк, почти ко всем - коммент в поддержку за полезный и интересный контент! Спасибо Жень!
@vitpet84
@vitpet84 2 жыл бұрын
Как по мне то это самое лучшее что я видел с уроков по Flutter. Респект автору.
@stanlygetz9616
@stanlygetz9616 2 жыл бұрын
Евгений, спасибо большое за Ваши уроки по Flutter!
@qerteuijbcfujg
@qerteuijbcfujg 2 жыл бұрын
Спасибо за видео! 55:00 Не надо придавать вредным привычкам!
@Raimkhodzhanov
@Raimkhodzhanov 2 жыл бұрын
Спасибо! Очень системно и понятно. Такие уроки очень нужны.
@ravshan349
@ravshan349 2 жыл бұрын
good lessons!
@user-mr3of6up7c
@user-mr3of6up7c 2 жыл бұрын
Спасибо, Мэн. Не останавливайся!!!
@shohzodzet
@shohzodzet Жыл бұрын
Кайфанул от урока. Большое спасибо за труд!
@igorfedoseev5500
@igorfedoseev5500 2 жыл бұрын
Супер! Спасибо за такой подробный разбор на простом примере.
@ahliyorshodiev1986
@ahliyorshodiev1986 2 жыл бұрын
Спасибо за видео теперь понял суть архитектуры до конца
@sergeysmirnov4726
@sergeysmirnov4726 2 жыл бұрын
Спасибо за урок!
@ArtemFun
@ArtemFun 2 жыл бұрын
Офигенно! Спасибо огромное за качественный контент! Досмотрел до конца. Это реально супер нужная тема! Очень хорошо и последовательно всё объяснено. Пойду ставить лайки под остальными видосами на канале, где еще не поставил, а то одного под этим видео явно мало )))
@nsvetlakov
@nsvetlakov 2 жыл бұрын
Очень здорово. Спасибо обльшое
@user-ky3wz5cb4m
@user-ky3wz5cb4m 2 жыл бұрын
Большое спасибо за видео!
@daviddzgoev9024
@daviddzgoev9024 2 жыл бұрын
Спасибо за урок)
@andreyponomarenko2995
@andreyponomarenko2995 2 жыл бұрын
спасибо за урок!
@MrNEXAi
@MrNEXAi 2 жыл бұрын
Коммент в поддержку канала *)
@evgeshad3011
@evgeshad3011 2 жыл бұрын
Огромное спасибо , пойду переваривать 😅
@IgorN1234
@IgorN1234 2 жыл бұрын
Спасибо. От души.
@nikwils2992
@nikwils2992 Жыл бұрын
Спасибо большое!!!
@aliisyanov1590
@aliisyanov1590 2 жыл бұрын
Урок пушка)) спасибо за такой контент. Курить бросай, лучше какой нибудь хороший пуэр подвари себе, чтоб полтора часа на одном дыхании пролетали + организм не разрушаешь
@LearnDartFlutter
@LearnDartFlutter 2 жыл бұрын
Проще сказать чем сделать)
@ilqaraqayev1994
@ilqaraqayev1994 2 жыл бұрын
Спасибо друг
@serezhka4920
@serezhka4920 2 жыл бұрын
У кого на старте всегда показывает 0, надо написать await внутри initialize, перед вызовом метода загрузки из стораджа.
@mirvlad
@mirvlad 2 жыл бұрын
Спасибо!
@user-yh2rt1xw3y
@user-yh2rt1xw3y 2 жыл бұрын
очень интересно
@krosh_the_true
@krosh_the_true 2 жыл бұрын
Для меня в некоторый момент стало открытием, что мы обновляем состояние модели или какого-нибудь стейта, постоянно создавая новые объекты (вот это самое copyWith()). Это вообще хорошая укоренившаяся практика, или так не совсем норм делать? Ну типа производительность и вот это все.... Или сборщик мусора в дарте нормально справляется со своей задачей и глобально на производительность это не повлияет? А если у нас модель большая и много этих объектов в памяти? Я, вроде, уже привык, но все еще сомнения гложут))
@LearnDartFlutter
@LearnDartFlutter 2 жыл бұрын
ответил в 95ом видео
@desonance
@desonance 3 ай бұрын
1 правило бойцовского клуба: разделяй логику от UI
@andreyponomarenko2995
@andreyponomarenko2995 2 жыл бұрын
ага было бы оч круто посмотреть как в MVVM сделать так чтобы всем заправлял сервис
@azatgimosyan8908
@azatgimosyan8908 2 жыл бұрын
like
@SShurikuSS
@SShurikuSS 2 жыл бұрын
Спасибо за видео. Обычно в чистой архитектуре разделяют бизнес логику и получение данных на repository и use case. Я правильно понимаю что в текущей реализации всё это выполняет sevice?
@LearnDartFlutter
@LearnDartFlutter 2 жыл бұрын
ага
@rus_dos
@rus_dos 2 жыл бұрын
Супер, грамотная подача информаций. Спасибо за Вашу работу. Один вопрос остался: к примеру у меня на viewModel переменная, я его состояние меняю через кнопку одной страницы и должен измениться состояние второй страницы. как это реализовать? то есть передать новое значение и обновить состояние второй страницы. Возможно все элементарно, но я только только обучаюсь)) заранее спасибо за ответ.
@LearnDartFlutter
@LearnDartFlutter 2 жыл бұрын
нужно какое то хранилище, которое будет во вьюмоделях на обоих экранах и что бы оно уведомляло о изменении данных
@andreyponomarenko2995
@andreyponomarenko2995 2 жыл бұрын
Вопрос! А почему в onIncrementButtonPressed мы делаем _state = ViewModelState(...), а не _state.agetitle = _userService._user.age.toString(); ? То есть почему мы заменяем стейт на новый а не модифицируем существующий?
@serioussem-l2
@serioussem-l2 Жыл бұрын
Привет, а как называеться плагин, когда ты нажимаешь на виджет и появляеться список вариантов действий (добавить constю обернуть в другой виджети т.д.)?
@user-yp6ue8op7k
@user-yp6ue8op7k 2 жыл бұрын
уроки крутые (как руки дойдут обязательно сделаю бусти) но у меня как у бэкэндера глаза кровью обливаются, есть ли возможность сделать внедрение зависимостей? это сколько ненужных экземпляров сервисов каждый раз будут создаваться при многократном использовании? к тому же как так сервис может хранить Стэйт юзера? он разве не должен быть стейтлесом? (не в плане виджетов, я думаю ты понимаешь о чем я) не лучше будет использовать синглтоны и юзера не хранить нигде (сервисы и дао) а выдавать при запросе нового из бд?
@BogdanDerevenets
@BogdanDerevenets 2 жыл бұрын
А когда при инкременте/декременте мы каждый раз создаём новый объект User, это какой-то convention?
@LearnDartFlutter
@LearnDartFlutter 2 жыл бұрын
это неизменяемые объекты данных
@paullashin9168
@paullashin9168 2 жыл бұрын
@@LearnDartFlutter На самом деле не ясно конкретно в данном случае почему просто не изменить age, без пересоздания всего юзера. Понимаю это было бы оправдано если бы менялось сразу несколько полей - так возможно было бы удобней. Тут же тратятся ресурсы на пересоздание обьекта. А представьте что обьект взят из реального мира с сотнями сущностей внутри. Или хотя бы с парочкой, но большого размера (фото/видео). Хотелось бы прояснить данный вопрос.
@ultixn
@ultixn 2 жыл бұрын
Видео вышло 30 минут назад, откуда комменты за два месяца?
@user-wt9pv5wu8b
@user-wt9pv5wu8b 2 жыл бұрын
а, ведь правда, баг что ли. Или видео было приватным.
@olegdsx
@olegdsx 2 жыл бұрын
Это видео с его платного проекта. Вышло давно и доступно было только по ссылке. Автору больше уважение за то что он выкладывает их в открытый доступ.
@ultixn
@ultixn 2 жыл бұрын
@@olegdsx ааа вот оно что! Спасибо! А то думал баг какой то
@marodonthemorone
@marodonthemorone 2 жыл бұрын
DI?
@alekseimozzhegorov9378
@alekseimozzhegorov9378 2 жыл бұрын
устал смотреть. а производительность между 34 строчек кода и после изменилась?
@kai.hexendorf
@kai.hexendorf 4 ай бұрын
Слишком много дублирующих методов и обработчиков, которые обновляют одно свойство age, транспортируя его из одного слоя в другой. А если таких свойств десятки, в случае заполнения какой-нибудь формочки? С ума можно сойти, все это обрабатывать и сеттать данные в модель в ручном режиме. Не понятно, зачем столько посредников? В итоге возникает старая проблема с раздуванием контроллера или презентера в MVC/MVP, потому что они перегружаются этими обработчиками. Именно для того чтобы избавиться от ненужного кода и лишних посредников появился MVVM, который позволяет внутри View подписаться (забиндиться) на изменения свойства age юзера (Model), с возможностью обновления его внутри View. Никаких incrementAge не должно быть ни в VM, ни в службах, ни в репозитории - у них другие задачи. В VM в принципе не должно быть хендлеров, потому что VM - это не контроллер.
@faizulla5838
@faizulla5838 9 ай бұрын
Полезно только тогда когда тебе расказывают сразу суть, любой вещи. без разницы. Этим и хороши англоязычные каналы, но не хватает уровня инглиша. Н всех рускоязычных каналах, просто несут пургу. И это напрягает.
@next12346
@next12346 Ай бұрын
Думаю даже бы если ты знал инглиш, то были бы проблемы, так как в основном вижу видосы не инглиш, а индусинглиш, их даже субтитры понять не могут)
Урок 81. Архитектуры - MVVM. Пример авторизации
1:44:54
Everything You NEED to Know About Client Architecture Patterns
5:51
World’s Largest Jello Pool
01:00
Mark Rober
Рет қаралды 102 МЛН
Gym belt !! 😂😂  @kauermotta
00:10
Tibo InShape
Рет қаралды 18 МЛН
Mom's Unique Approach to Teaching Kids Hygiene #shorts
00:16
Fabiosa Stories
Рет қаралды 36 МЛН
ВОДА В СОЛО
00:20
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 32 МЛН
Android MVP vs MVVM and the winner is...
19:07
ANZ Coders
Рет қаралды 46 М.
Flutter 2024 :: Lecture 1 :: Overview
1:42:10
Incubators
Рет қаралды 1,3 М.
Урок 44: "Основы Flutter - StatefulWidget, State
52:18
LazyLoad Dart & Flutter
Рет қаралды 12 М.
Which Software Architecture Should You Use: MVC, MVP, or MVVM?
24:27
World’s Largest Jello Pool
01:00
Mark Rober
Рет қаралды 102 МЛН