Похожие видео
Описание
О том, как реализовывать шаблон проектирования MVVM на основе Google Architecture Components. Как его легче осуществить и тестировать на практике.
Текстовая версия
Всем привет меня уже писали я являюсь ведущим разработчиком и сегодня расскажу что такое вен ну давайте! Ка бы поднять руки пожалуйста кто уже использует ну скажем м виси ну либо i'm happy. Давайте туда другие какой-нибудь чтобы он проектирование мочи нет ну целом говоря помяните он вроде шас очень распространён?
Скажем или пи самый каску думаю как многие в курсе что такое mipim ну и также что это виверн под о которой!
Мы будем сегодня к просмотреть вот и также стоит ей intent тоже интересны есть скажем и виват его то есть вместо. Цепей кубы могут быть нам различные рода проектирование.
Кабы всего шаблон вашу проекта ну и также. Существует релакс про него не буду копытом это убирай подбивает очень. Интересно на самом деле ну и что такое вообще и потер ну если взять из скажем и сдвиг 5 там информацию.
Мод относится именно к domain либо же the tax если? Я думаю серной она в курсе про чисто которое либо немножко так не знаем ну модуль в целом.
Говоря он так этом интер либо же the tower.
Там где происходит именно загрузка данных ваших. Обращений к пии баз данных либо кто еще кеша в том и все что отвечает за загрузками он относится именно к моду а вот вилл.
Это отвечает именно за отображение ваших дизайн xml на устройствах. Ваш шкаф для пользователей телефонов там скажем. И это можно отнести к аптеке либо же фрагменту x мелки и чтобы он проектирование и вот и.
В этом девушки мы с максимально стараемся делать. Youtube и чтобы он не содержал никаких лайки ну и соответственно появляться такие разные рода шаблоном там семь и мы стараемся все отделять. Лайку от юшкой ну потому что иначе код вашего проекта становится каши но и что такое именно тогда в моду тот именно связки.
Mvvm
Между view и вино the well informed и моду о том что что то происходит на экране устройства? Допустим после ножа на кнопку там либо открылся экран и сети тесте который. Происходит надюшки уведомляется вьюшку новье моду то есть это примерно!
У знака будут вызывать функцию который находится у ему дала о том что допустим он скажем он баттон. Клик и дальше идет второй этап ремонта предоставляют поток данных относящийся к view это именно обратно связь с дима билан. Вьюшки по так как вот это происходит буду объяснять в чуть позже но в целом говоря подписчиков надев и модов те которые:
Сидят за уведомление о титанах бы от привода мог быть множество и вошли вилл может быть нет in но их множество об этом может быть. Нам вас несколько фрагментов и они подписываются на один тот же в моду и получает любовь ну он возник получать какие-то данные. Вот и также стоит дата моду это у нас источник данных откуда у нас тянется информации обычно мы пишем рипа история.
Чтобы ограничить именно знание о том что от из какого источника очень тянется данные. Ну и мы скажем обращение api или позже баз данных мы скрываем вилсет. Из внешний слой к по которой находится в и модуль вот и получается что в целом картинка.
Будет так у нас произошла действие который но пользователь нажал на кнопку дальше в ему дал тянет данные?
Либо же в этот же момент может уведомлять какие-то а действиях ну либо готовы даны которые нужно отобразить пользу и дальше мы получаем: Обратно из apink ответы данных и выдам ляться эти данные. Это именно то как выглядит схема обращения к бы между слоями и вивьен вот ну и правилами на общение.
Между мишкой ильи модель что девушка должен только: Уведомлять о действиях пользовали ну или то что в ему то не должно быть ссылка и на на девушку то есть ему то не иметь прямо!
Обращение к вьюшки это достигается за счет обзор а потом об этом чуть позже ну кто знает обзору потому. Что ну это мы получается что ему толко бы вообще безразлично? О том кто подписывается я знаю данный который.
Он загружает из источника данных ну и как это рисовать как я сказал это уже применяется через общее между имудон.
Google architecture components
И вьюшки писать именно обзору потому есть обзор лопата?
На связь савчик и обзор лс ну и как это если схему разобрать то существуют подписчики которые. Сидят за одним данным который находится вуз объектом подписка и отписка а уже сам джек.
Выдам ляет подписчиков о том что изменить какие-то. Данные ну скажем загрузились данные и уведомляет всех кто подписаны о том что вот потому?
Что изменение теперь скачай давай тонут несколько получить отобразили там девушка. С ним хочешь вот и как это выглядит ну скажем!
При шаблоне кабан виверн то что сатана своему дому и а подписчика это наши view ну и теперь. Нужно прийти рс потому что в прошлом году именно гуглов: На от гугла и представил хочу components ну и на сем уже известно как бы и может быть уже использовать то активно но в нем находится лассо конор.
И это именно та которая обрабатывает жизни цикла. Activity фрагментов когда-то он умеет хранить данные бегемоту это как раз тож нам нужно и ром есть на вершину это надо выпустил sword на я же но этот.
А банник вот из них нам все для ре зация weave платформе android требуется всего лишь в 5 компонентов lights аккаунт. Где моду и лай дата важна именно понимать что именно ремонту который предоставлю ответчиком по ндс и это не совсем классический.
Вид не классический ремонту который по шаблон проектирования а именно уже доработанные либо же подстроенный под android. Ну своим образом ну и поэтому когда вы говорите им виверн?
Но в ему дом важно понимать что что такое вообще но то что мы заранее? Ранее говорили о том что существует вот эти правила которые юшка следят за данными увидим удон но у гугла. Это резон немножко по-другому ну они используют желают.
Kolesa.kz
Дату ну и все остальные компоненты которые существовали кого-то щенков ну а неси-ка бы опциональные вы можете. Для источника данных использовать room либо же дата баним чтобы связать ваши данные кузов xml q знаю кто нибудь использовать на и нужен? Под оба нем есть такие вот и слышно но мы тоже не используем ну если интересно.
Там нужно попользоваться конечно ну и как же выглядит. Код уве муда это всего лишь абстрактный класс который имеет функцию unclear этот функция:
Вызывается ток когда activity полностью уничтожается то есть у него. Есть в жизни цикл в свой когда вы создаете.
Сама паска бы на конструкции и также unclear которые там внутри. Находится он называться когда ну скажем власть закона умирает.
La seconda может быть activity фрагмент ну тоже другие может сервисы. Ну и если рассмотреть жизнь и цикла activity то мы видим что есть. Он creed и дальше такой дон быстрой и в моду все это время же своим скопом то есть он ничего:
Не знает о том что происходит на стороне.
9 у вас сакан кроме того что конце он вызовет unclear когда все activity полностью. Вымер вот и за счет этого у нас как бы достигается хранение данных которые при поворотах нужно держать чтобы обратно пользу. Это обернуть то что загрузились уже заранее и как создается в моду можно создать обычным методам:
И способам созданием объектов в моду но таком случае вы. Не можете передать объект и самого мода так как там есть момент это что ему то он создается через рефлексию не небольшой они хранят то что в моду вы создали! Они держат его папе то есть во время.
Жизни цикла кабы вашего apple конечно они держат мат в котором по ключу название где мода хранят эти объекты которые? Вы создавали ну и потом они через лассо кадр уничтожает эти самые с прямотой которые. Были созданы ну то есть по факту просто.
Krisha.kz
Теремов делать и снапов и у них уже прекращать и чтобы допустим когда вам нужно передать в моду объекты но скажем. При по истории это наш источник данных модулем то вам нужно сказать:
Факторы factory она отвечает за как именно создается ваш в моду вот у меня есть метод creed и мы создаем. Наш в моду туда передаем ой тут у меня неправильно код ну очень тут как бы должен быть репосты и потом. Вас есть в activity метод oncreate мы создаем factory туда передали репозиторий который нужно было создать у нас есть теперь объект factory.
И существовать в моду провайдер у нее статичный метод of вы туда передаете vostikanner это наш activity и факторы которые умеют создавать. Тебе моду и таким образом мы можем обратиться к климату:
Провайдер чтобы у меня вытащил ему-то который мне нужно для этого экрана еще таким образом у нас уже есть готовый. Объект климата и можем мы с ним работать ну и как говорилось сейчас. Как горел что девушка с при обращении с ему дом он вызывать только те экшена который происходит.
На экране то есть когда у вас вьюшки есть кнопка там вывести танки клейста делаете и вызывать метод который находится.
У минуту там он ботан кликает либо же open кликает неважно какой-нибудь объект.
И вы отведаете вымотал и также существует когда-то.
Блокад и это на самом деле просто обзор. Было по там катание внутри которой лежат эти методы обзор. Forever dream forever dream of a взорвался и но сам объект которая хранится в dota за счет лада ты но это просто обычный обзор.
Был вы можете подписаться на него как бы тогда и описаться и вытащить. Из него данные которые вы получать от неё как бы уведомление но именно: Тогда ты еще также уметь знает состоянии life cycle of то есть лада то есть также метод обзор не forever обычно обзоров.
Market.kz
Вы туда передаете places api овнов ну activity либо фрагмент и таким образом!
Он как катали activity либо фермент уничтожается он соответственно свои данные? То что были он уберет очистит там песку. Сделать сам по себе то есть вам не нужно будет вызвать отписку remove вручную за эту маску.
Отвечать нас online data он учится за судьбы. Ну и ему что вот как раз таки и того что лада то он сам батчат преимуществом. И мы засекаем что он больше не утекает.
Памятника бы за лишних данный которых держится где-то в приложениях и нет также? Баков из-за activity когда мы получили уведомление но activity в этот момент. Уже был уничтожен мы и получат что получил уведомление но тот актив который в эту подписывался на пидан и он учит ужас уничтожился новой то-то.
Он сам подпишет этот activity когда он сам поворачивать экран либо восстановится ну и больше не нужно замачивался.
Насчет того что препарат экранов вам нужно держать какие-то данные которые отображаются на экране вы это все данные храните? Love dating и ну и вас будет всегда. Кто на данный препарат ах ну потому что он умеет следить за изменениями конфигурации приложений ну это что когда-то он лежит!
На самом мимо то ли вы создаете объекты лайда то самом классе в моду и именно. Light а то будет уведомлять ну а идешь к ему будет подписывать именно на лопату то есть обзор.
Угу ну за изменением данных мы получается что в модуле вы обращаетесь к вологда так и горит что вот есть данные готовы который.
Я загрузил что-то там олова и вот это мекка бы те которые подписаны на неё вот но чтоб от пока! Вот есть обзор был и то есть те которые подписаны сам данный который дал то есть обычно объект и есть обзор теремов. Обзор remove обзор вас мы внесли использоваться.
Kolesakrishamarket
К нам во мне вообще не то смысл его звать но кое каких моментах есть необходимость ее использовать то есть мы вы обычно! При взаимодействии с лада то будете вызывать обзор туда передаете вас а конор и уже сам объект callback который.
Получить при готова данных и есть также сотворил это именно ремонта. Сам вызвать там туда записывать данным мэгги твою и давайте рассмотрим и приложения markets. При разработке мина и виверн вам нужно понимать какие данные существуют на вашем экране случае с маркетом.
Скажем вот вот этот регион онлай дата то есть регион какой-то лайда то также есть в список секции мы тоже? Держим секс онлай дата ну и список.
Объявлений а ну отдай тайзен list live data вот и какие существуют! Событий которые вызывают ему дала при обращении о взаимодействии с пользователем когда нажимать.
На кнопку регионов там и либо у текста.
И поле выбор секции у нас из-под категория там и само объявление избранные есть ну и также подгрузка. Это дополнительно данной при попытке не стану эндо scroll и какой-нибудь дал и также вот кнопка большая внизу все эти события мы придаем? В мозгу и уже дальше в модуле пишите байку о том что нужно делать когда пользу нажимать на эту кнопку.
Перед тестированием нам нужно будет ну зачем нам нужно тестировать ну чтобы править что когда вы будете. Изменять какие-то поменяйте код минус на стороне вьюшки либо в модуле у вас мне не сломается ничего дальнейшем.
Но и нам нужно проверить останови что происходит на стороне где modulo допустим когда начался ну вызывается метод onstart: То мы хотим проявить что там поменялся состоянии прогресса там закон успешно сходил за данными и там переключил:
Уведомил от этой светлой да то что вот есть готовый данный который получил от трипа история вот их нужно вызвать: Мой порядок этих всех сценарий который может быть произойти в ему ну ну и что не нужно проверять это то что как.
Отображается вьюшки это все относится к его тестированием: И то что как загружается данные но это все уже то толерантность ну мы сейчас рассмотрим на кейс когда как нужно будет:
Проверить эти интеграционные уве моду для тестирования mimo ota джиюн фон также. Makita котлин мы используем потому что мы пишем код на котле не кто-нибудь. На другие как бы уже решение для мог используют ну как это нашем случае мы посмотрим мохито котлин и также используем core тесте:
Он нужно чтобы ей не тестах ваш обращение кафе мода. Работал своими на 1 по точным образом так как в моду лайда то он работает ласок wonder но у нас в интересах нету сама власть закона. И таком случае как работает именно солдаты чтобы.
Там следить за тестах там за состоянием то нужно использовать именно вот кор кор тест он вам подмените нужны состоянии сама вот эту вас такого он орал. Тогда ты вин тестах ну и как не надо писать и моду первое это то что дима да не должен. Знать о существовании android языка то есть когда вы пишете класс?
Сама в моду то и портов у вас не должно быть ни одного android класса убью фрагменты.
Activity там скажем что еще может быть контекст resource все что нам бит монтаже: Эти классы не должно быть импорта хуви моду но это достигать ну это нужно чтобы вас тестах мы могли писателем?
Тесты и view мода никакой с очень должен содержать ссылку на виму спешку как мы сказали? В моду а своей цикл ну и также!
Вьюшки там аптеке может создать song лет он бы строить вызвать и если вы кабы не будете держать ссылка.
На девушку самом и модель это вас. Где моду будет жить в тот момент когда акте теперь пора читься он передается да то у нее будет.
Утечка из за того что там он держит ссылку на эту топчите. Вас у него кинешь и рации ну у него свою жизнь и цикл ему но и ну это что они не надо делать загрузка. Данных это вас создается самого ли моду лучше передать.
И туда какой-нибудь метод onstart но чтобы в тестов. Когда мы вызываем с этапе мы могли ну подменить kapitan: Ну то есть не сразу загружать данных а только когда мы просим ньютону.
Когда-нибудь экрана открываться ну и как нужно реализовывать в моду видим мы максимально стараемся писать межблоки самом вьюшки у нас была там всего лишь создание? Ремонту отвечал и за передачу событий который происходит. На экране на экране и пользе и юшка мы будем стараться писать следить!
За только нужным данными не нужно будет создавать там кучу лада то старайтесь лучше его как-то минимизировать.
Ну и создавать и домены рф есть. У вас как бы у вас или модуль становится очень много кодов то есть?
У нас может быть там i can объявление которое содержаться. Куча лайки и не надо будет ни старайтесь.
Мишек если получать что в моду содержится очень много кода то вам нужно уже начать кавайно абстрагируется и пытаться уже создавать. Там один слой в котором вы будете вносить туда логике валидации ну это статусом приведет к вашему. Проекту круче структуре ну и используйте по истории за то чтобы там загрузить данные это поможет вам абстрагируется: