Пожертвования - boosty.to/lazy... ______ Канал с анонсами в телеграм - t.me/lazyload_... ______ Группа в телеграм - t.me/learnDart... ______ Группа в вк - club203... ______ Код урока для подписчиков boosty - github.com/Jon...
Спасибо за видео. Очень нужная тема, а самое классное, что даже на таком простом примере получилось показать, как можно сделать MVVM, а не только VVM. :)
Офигенно! Спасибо огромное за качественный контент! Досмотрел до конца. Это реально супер нужная тема! Очень хорошо и последовательно всё объяснено. Пойду ставить лайки под остальными видосами на канале, где еще не поставил, а то одного под этим видео явно мало )))
Для меня в некоторый момент стало открытием, что мы обновляем состояние модели или какого-нибудь стейта, постоянно создавая новые объекты (вот это самое copyWith()). Это вообще хорошая укоренившаяся практика, или так не совсем норм делать? Ну типа производительность и вот это все.... Или сборщик мусора в дарте нормально справляется со своей задачей и глобально на производительность это не повлияет? А если у нас модель большая и много этих объектов в памяти? Я, вроде, уже привык, но все еще сомнения гложут))
Урок пушка)) спасибо за такой контент. Курить бросай, лучше какой нибудь хороший пуэр подвари себе, чтоб полтора часа на одном дыхании пролетали + организм не разрушаешь
Вопрос! А почему в onIncrementButtonPressed мы делаем _state = ViewModelState(...), а не _state.agetitle = _userService._user.age.toString(); ? То есть почему мы заменяем стейт на новый а не модифицируем существующий?
Спасибо за видео. Обычно в чистой архитектуре разделяют бизнес логику и получение данных на repository и use case. Я правильно понимаю что в текущей реализации всё это выполняет sevice?
Привет, а как называеться плагин, когда ты нажимаешь на виджет и появляеться список вариантов действий (добавить constю обернуть в другой виджети т.д.)?
@@LearnDartFlutter На самом деле не ясно конкретно в данном случае почему просто не изменить age, без пересоздания всего юзера. Понимаю это было бы оправдано если бы менялось сразу несколько полей - так возможно было бы удобней. Тут же тратятся ресурсы на пересоздание обьекта. А представьте что обьект взят из реального мира с сотнями сущностей внутри. Или хотя бы с парочкой, но большого размера (фото/видео). Хотелось бы прояснить данный вопрос.
Супер, грамотная подача информаций. Спасибо за Вашу работу. Один вопрос остался: к примеру у меня на viewModel переменная, я его состояние меняю через кнопку одной страницы и должен измениться состояние второй страницы. как это реализовать? то есть передать новое значение и обновить состояние второй страницы. Возможно все элементарно, но я только только обучаюсь)) заранее спасибо за ответ.
уроки крутые (как руки дойдут обязательно сделаю бусти) но у меня как у бэкэндера глаза кровью обливаются, есть ли возможность сделать внедрение зависимостей? это сколько ненужных экземпляров сервисов каждый раз будут создаваться при многократном использовании? к тому же как так сервис может хранить Стэйт юзера? он разве не должен быть стейтлесом? (не в плане виджетов, я думаю ты понимаешь о чем я) не лучше будет использовать синглтоны и юзера не хранить нигде (сервисы и дао) а выдавать при запросе нового из бд?
Слишком много дублирующих методов и обработчиков, которые обновляют одно свойство age, транспортируя его из одного слоя в другой. А если таких свойств десятки, в случае заполнения какой-нибудь формочки? С ума можно сойти, все это обрабатывать и сеттать данные в модель в ручном режиме. Не понятно, зачем столько посредников? В итоге возникает старая проблема с раздуванием контроллера или презентера в MVC/MVP, потому что они перегружаются этими обработчиками. Именно для того чтобы избавиться от ненужного кода и лишних посредников появился MVVM, который позволяет внутри View подписаться (забиндиться) на изменения свойства age юзера (Model), с возможностью обновления его внутри View. Никаких incrementAge не должно быть ни в VM, ни в службах, ни в репозитории - у них другие задачи. В VM в принципе не должно быть хендлеров, потому что VM - это не контроллер.
Полезно только тогда когда тебе расказывают сразу суть, любой вещи. без разницы. Этим и хороши англоязычные каналы, но не хватает уровня инглиша. Н всех рускоязычных каналах, просто несут пургу. И это напрягает.