Что такое mvp в программировании
Перейти к содержимому

Что такое mvp в программировании

  • автор:

Что такое Minimal Viable Product в программировании

Рассказываем, что такое MVP, чем хорош данный подход, какие цели преследует и как используется в программировании.

Вы наверняка слышали об MVP. В этой статье мы расскажем, что такое MVP, какие цели преследует и как используется в программировании.

Определение MVP

Аббревиатура расшифровывается как Minimal Viable Product — минимально жизнеспособный продукт. По сути, это тестовая версия товара или сервиса, которая позволяет оценить заинтересованность потребителя в представленном продукте.

Такой подход применим для реализации чего угодно и нередко используется в разработке ПО и цифровых сервисов.

При этом MVP не является прототипом, поскольку содержит лишь самую необходимую функциональность. С ранним релизом также мало общего: релиз хоть и учитывает предпочтения пользователей, но сами пользователи никак не влияют на направление развития продукта.

Цели Minimal Viable Product

  1. При минимальных ресурсо- и времязатратах проверить гипотезу успешности продукта.
  2. Опередить конкурентов ранним захватом целевого рынка.
  3. Создать основу для будущих проектов аналогичного направления.
  4. Собрать фокус-группу с возможностью использовать её в дальнейшем развитии продукта.
  5. Привлечь денежные средства через инвесторов или по схеме краудфандинга.

В разрезе разработки это также возможность проверить способность команды реализовать целевой проект, что особенно важно, если на старте команда собрана с нуля.

MVP в программировании на примере известных компаний

Наверное, самым известным примером является социальная сеть Facebook. В 2004 году сайт был разработан для общения студентов Гарвардского университета. Тогда профили пользователей содержали минимум информации, а сегодня Facebook является крупнейшей социальной сетью в мире стоимостью в $73 млрд.

В креативности не уступает и Uber. Приложение на первых порах могло лишь соединять клиентов с водителями. Именно эта простота и принесла сервису успех. Теперь же в Uber есть множество функций, начиная отслеживанием автомобиля и заканчивая семейным профилем. На сегодняшний день бизнес Uber стоит $53 млрд.

Snapchat начинался как небольшая утилита для обмена сообщениями, что удалялись через 10 секунд после прочтения. В первой версии на iOS из продвинутых функций была только загрузка изображений. Сейчас Snapchat оценивается в $35 млрд.

Yahoo! на старте был статичной страницей со ссылками на популярные веб-сайты — простейший каталог, который хорошо себя показал на ранних этапах развития интернета. Сегодня же это вторая по популярности поисковая система, ежегодный доход которой варьируется в районе $5 млрд.

Как создать MVP

Для начала вы должны чётко понимать, какую проблему должен решать ваш продукт, и определить функции, которые сделают его жизнеспособным.

Перед непосредственной реализацией Minimal Viable Product стоит исследовать рынок и опросить потенциальных клиентов. Возможно, из опрошенных и будет состоять ваша будущая фокус-группа для оценки MVP.

Далее вооружайтесь полезными сервисами:

  • Instapage — для быстрого создания лендингов.
  • QuickMVP — создание лендинга и рекламы в Google, что позволит сразу оценить реакцию людей на бизнес-идею.
  • Proto — для реализации прототипа приложения без привлечения разработчиков и с проверкой на реальном устройстве.

Либо, если у вас уже есть команда программистов, создайте MVP самостоятельно. Выкатывайте, собирайте статистику и добавляйте востребованные функции для создания полноценной версии.

Недостатки MVP

Данный подход не обошла и критика. Например в ряде случаев невозможно урезать те функции, которые должны лежать в основе будущего продукта, и их одинаково сложно реализовать, пусть даже прототип будет с примитивным интерфейсом.

Другая проблема — это плохой UX на фоне хорошо работающей программы. Причин может быть множество, даже всё тот же примитивный интерфейс. В итоге создатель придёт к выводу, что пользователям его проект не нужен, а значит он не взлетит, хотя для удовлетворительного фидбека нужно было подкрутить лишь какую-то мелочь.

По MVP должен быть виден потенциал будущего продукта, пусть он и представлен в бюджетном варианте. Многие об этом забывают и впустую тратятся на то, что после выдаёт плохие результаты. Также это большой риск, ведь низкое качество прототипа может отрицательно сказаться на бренде.

Minimum Valuable Product

Из-за того, что определение MVP многих стартаперов толкает на создание примитивных тестовых продуктов, на арену постепенно выходит MVaP — Minimum Valuable Product или минимальный ценный продукт.

Концепция состоит в том, что необходим не какой угодно результат при низких затратах, а создание ценного для пользователей продукта, который будет соответствовать их ожиданиям и закрывать потребности. Только так можно собрать и проанализировать реальную статистику.

Выводы

Использование MVP включает ряд достоинств, таких как получение реальных отзывов при минимальных затратах и опережение конкурентов. Принцип работы MVP в программировании ничем не отличается от других сфер. К тому же сегодня можно воспользоваться сервисами для быстрого создания прототипа, даже не прибегая к разработке.

Основной проблемой Minimal Viable Product остаётся непонимание того, как правильно использовать данную стратегию, ведь порой в угоду экономии тестовые продукты создаются на отвали и не оправдывают возложенных на них ожиданий.

Что такое MVP и чем он отличается от прототипа

Когда вы будете профессиональным разработчиком, в вашей работе будут два похожих понятия — прототип и MVP. Разберёмся в этих понятиях во имя кругозора.

Что такое прототип

Прототип — это очень упрощённая версия будущей сложной программы, которая просто позволяет проверить одну конкретную узкую идею. Прототипы нужны, когда стоит задача быстро проверить какую-то конкретную техническую гипотезу.

Например, мы делаем видеочат. Нам нужно подавление шумов. Для этого есть готовая библиотека. Прототипом будет простая программа, которая убирает шумы с помощью этой библиотеки. Звонить, сохранять контакты и пересылать ссылки на звонки она не сможет, потому что цель — проверить конкретную локальную технологию.

Главная особенность прототипа — это не полноценный продукт, а маленький тестовый кусочек.

Прототип:

✅ Сразу позволяет оценить или проверить работоспособность идеи.

✅ Легко переделать, если что-то пойдёт не так.

❌ Не получится пользоваться в обычной жизни.

❌ Если задача выйдет за рамки прототипа, то программа сразу выдаст ошибку.

Что такое MVP

MVP — это аббревиатура от английского Minimum Viable Product, что означает «минимально жизнеспособный продукт». Это уже почти полноценная программа, но с ограничениями.

Цель MVP — проверить идею не с точки зрения технологии, а на реальных пользователях. Это значит, что разработчики уже сделали прототип, убедились, что всё работает, и решили выпустить первую версию, в которой будет только самое необходимое для пользователей. А всё, без чего при запуске можно обойтись, в MVP не делают ради экономии времени и денег.

Например, если мы делаем MVP того же видеочата, то для начала там может быть только чат, вход по ссылке, введение имени, включение микрофона, шеринг экрана и обмен сообщениями. И там может не быть регистрации, платных аккаунтов, размытия фона, секретных комнат и многого другого.

Смысл MVP в том, чтобы понять, взлетит ли бизнес-идея в принципе и нужно ли развивать программу дальше.

MVP:

Удобный и понятный интерфейс.

✅ Решает основную задачу пользователя.

✅ Не падает с ошибками, если ввести что-то не то.

❌ Разрабатывается дольше и дороже, чем прототип.

❌ Выполняет только базовые действия по сравнению с полноценным приложением.

А можно по-русски?

Вот несколько примеров перевода с айтишного на русский:

Айтишный Русский
Нашли опенсорсную либу, запилили прототип, окнули у стейкхолдеров и ушли в спринт на MVP. Мы нашли библиотеку с открытым кодом, которая решала нашу задачу. Проверили её в действии на прототипе и убедились, что она работает. Далее мы согласовали с руководителями разработку минимального продукта, чтобы показать приложение пользователям.
Ментор сказал, что наш MVP больше похож на прототип, а прежде чем выйти на IPO, мы должны допилить кор-продукт, чтобы он стал ярдовой историей. Наставник раскритиковал качество нашего приложения: по его мнению, в нём не хватает важных пользователю возможностей, без которых приложение не будет интересно. И прежде чем думать о выходе на биржу и продаже акций предприятия, сначала нужно создать такой продукт, который потенциально может привлечь более миллиарда долларов инвестиций.
Начинайте с недорогих MVP и следуйте принципу fail fast. Выпускайте простые, но рабочие продукты. Если вы видите, что продукт не идёт и вы в чём-то ошиблись — не бойтесь это быстро признать и работать дальше.

Это айти. Вот как сюда войти

Если вам близко то, о чём написано выше, у вас есть все шансы стать разработчиком, тестировщиком, дата-сайентистом или менеджером в сфере ИТ. Тут хорошо платят и приятная компания. Стоит хотя бы изучить вопрос.

Это айти. Вот как сюда войти Это айти. Вот как сюда войти Это айти. Вот как сюда войти Это айти. Вот как сюда войти

Получите ИТ-профессию

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Что такое mvp в программировании

31 августа 2023

Скопировано

MVP — это Minimum Viable Product, минимально жизнеспособный продукт. Так называется продукт, который еще не готов до конца, но который тем не менее уже можно выпускать на рынок.

«IT-специалист с нуля» наш лучший курс для старта в IT

Что такое MVP

Обычно термин используют в отношении программ и приложений, разных стартапов. Например, ранняя версия какого-нибудь интернет-сервиса, у которой еще нет всех заявленных функций, но которая уже способна работать и приносить пользу, — это MVP. Это своего рода тест: так создатели проверяют, насколько продукт нужен аудитории и есть ли у него потенциал.

Обычно MVP — это очень простой продукт: он выполняет одну-две функции, у него нет красивого дизайна и дополнительных фишек. Но та функция, которая есть, — главная: если она окажется нужной и полезной для людей, проект может стать успешным. А успешные проекты можно дорабатывать.

Профессия / 8 месяцев
IT-специалист с нуля

Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

vsrat_7 1 (1)

Для чего MVP нужен бизнесу

MVP часто используют на ранних этапах выпуска продукта: он помогает оценить потенциал, снизить риски, сэкономить деньги и определить направление для дальнейшего развития.

Оценка потенциала. С помощью MVP создатели могут оценить, насколько идея жизнеспособна: как ее восприняла аудитория, оказался ли продукт нужен людям, реально ли его поддерживать и как это лучше сделать. По итогам можно сделать вывод, стоит ли развивать проект дальше.

Снижение рисков. MVP стоит дешевле, чем конечный продукт. Если пользователи не оценили идею, можно изменить направление развития сразу и не уйти в минус из-за огромных затрат на ненужный продукт.

Экономия средств. MVP — это относительно недорого, а прибыль от него можно начать получать сразу. Продукт выходит на рынок не совсем готовым, но уже работает и может приносить доход. А еще это способ сэкономить на аналитике: вместо нее можно сразу посмотреть, как идея работает непосредственно на рынке.

Направление развития. MVP позволяет сразу увидеть, куда стоит развиваться дальше, где у идеи слабые места, которые лучше закрыть в первую очередь, а что стоит оставить как есть. Реальный пример: в рамках тестирования MVP сервиса Airbnb создатели быстро поняли, что людей отпугивают некачественные фотографии жилья под сдачу. И ввели правило, согласно которому фото должны быть качественными, — и сами начали помогать делать такие фотографии.

Привлечение инвесторов. Благодаря MVP проектом могут заинтересоваться инвесторы. Для них перспективнее вложиться в продукт, который уже работает, чем в абстрактную идею, которая никак не доказала свою состоятельность. А с помощью инвестиций можно привлечь средства для дальнейшего развития продукта. Пример — сервис доставки продуктов «Сбермаркет»: изначально это был стартап под названием «Инстамарт», но благодаря удачному MVP проектом заинтересовался Сбер.

Освойте профессию продакт-менеджера
за 10 месяцев. Наберитесь опыта
на реальных кейсах под руководством экспертов

Примеры успешных MVP

Многие продукты, которые сейчас всемирно известны, когда-то начинали как MVP со скромной функциональностью. Несколько примеров:

  • сервис для поиска жилья Airbnb начинался с простейшего сайта-одностраничника, с помощью которого создатели сдавали собственный чердак;
  • музыкальное приложение Spotify когда-то было простым MVP, который умел только потоково передавать музыку. Сейчас программа известна своими умными алгоритмами подбора мелодий и другими многочисленными фишками;
  • популярный мессенджер WhatsApp* тоже начинал как MVP — своего рода телефонная книга, где показывалось, в сети ли контакт;
  • российский маркетплейс Wildberries вырос из примитивного интернет-магазина одежды из-за рубежа, которая продавалась с меньшей наценкой, чем обычно.

Особенности MVP

Функциональность. MVP — это функциональный продукт, которым можно пользоваться. Пример из быта: тесто — это еще не MVP. Простые булочки, испеченные из этого теста, — MVP: их можно съесть или предложить кому-то за деньги. А потом продукт можно дорабатывать: экспериментировать с начинками, добавлять специи и посыпки. Но главное — чтобы начальным продуктом можно было пользоваться.

Минимум затрат. Идея MVP — функциональность при минимальном количестве временных и финансовых затрат. Если без какой-то функции можно обойтись, она пока что откладывается в сторону. Разработчики концентрируются только на основной идее: той, без которой продукт просто не может работать. Продолжая пример с булочками: если нет нужды сразу делать их с начинкой — лучше отложить это на потом и выпекать простую сдобу.

Синхронная разработка. Для создания успешного MVP нужно исследование целевой аудитории. Об этом говорил автор самого термина MVP, сооснователь SyncDev Фрэнк Робинсон. Он считал, что минимально жизнеспособный продукт — результат синхронной разработки. То есть команда одновременно разрабатывает продукт и исследует рынок и благодаря этому выпускает нужный людям MVP.

Проверка идеи, а не технологии. MVP не обязательно должен быть чем-то сверхсложным с точки зрения технологий. Даже наоборот: ранняя реализация может быть совершенно примитивной, но показывать пользователям новую идею. Например, это может быть простейший сайт на WordPress, но предлагающий что-то новое — скажем, заказ продуктов через интернет в короткие сроки.

Кто создает и развивает MVP

Созданием самого продукта занимается команда разработчиков, тестировщиков и других специалистов. Процессом управляют продуктовые менеджеры, задача которых — решить, что будет включать в себя MVP и как это будет выглядеть. Впрочем, в стартапах редко собирается команда специалистов с четко обозначенными обязанностями: часто вся компания состоит из 2–3 человек, каждый из которых берет на себя несколько ролей. А некоторые стартапы — и вовсе проекты одного человека.

Чем MVP отличается от похожих понятий

Минимально жизнеспособный продукт часто путают с похожими терминами из бизнес-разработки: например, с прототипом или PoC. Разберемся, в чем разница.

Прототип

MVC и прототип — тестовые версии для проверки какой-то идеи, в этом сходство. Но прототип — это не готовый продукт, его нельзя выводить на рынок и полноценно пользоваться. Это более узкое понятие: прототип делают не для продукта целиком, а для проверки конкретной технологии. Например, компания хочет выпустить велосипед с усовершенствованным механизмом руления. Прототипом будет модель самого механизма руления, а MVC — самая примитивная версия полноценного велосипеда.

PoC

PoC — это Proof of Concept, или доказательство концепции, то есть проверка, насколько идея жизнеспособна. Это более ранний этап развития, чем MVC: для реализации PoC вообще не обязательно создавать продукт. Например, доказательством могут послужить предзаказы или активный сбор на проект с помощью краудфандинга. Если людям интересно, значит, проект им нужен и, следовательно, жизнеспособен. Яркий пример тут — Dropbox: когда-то они выпустили презентацию не существующего еще сервиса и получили 75 тысяч подписчиков. Это послужило аргументом в пользу того, что сервис нужен людям.

Станьте project-менеджером и управляйте ресурсами проекта, оценивайте риски
и отвечайте за качество продукта

Виды MVP

По функциональности и способу реализации выделяют много видов минимально жизнеспособного продукта, но известнее всего стали четыре из них.

Однофункциональный. MVP, который выполняет одну заявленную функцию, а дополнительных у него пока что нет. Эта единственная функция, на которой концентрируется продукт, и есть реализация основной идеи. Такой подход сужает целевую аудиторию, зато помогает оценить перспективу и обратную связь, заложить фундамент на будущее. По такому принципу развивались Spotify и WhatsApp*. Обычно его используют, если есть какой-то в своем роде уникальный продукт, уже готовый, но еще довольно простой и нуждающийся в обкатке.

Разрозненный. MVP, который состоит из множества простых деталей, образующих сложную систему. Такой продукт собран из готовых решений и плагинов, которые вместе составляют что-то интересное. Это помогает обойтись без дорогостоящей разработки сложного уникального софта на ранних этапах. Подход используют, если идея — какой-то сложный сервис с множеством параметров. Например, этот тип MVP использовал сервис скидочных купонов Groupon: поначалу там был только простой сайт на WordPress, email-рассылка без автоматизации и еще несколько готовых компонентов. Зато потом система стала сложной и куда более продвинутой.

Консьерж. MVP, в котором якобы автоматические процессы на первых этапах выполняются вручную. Готовый продукт должен что-то автоматизировать, но на этапе MVP вместо алгоритмов работают люди. Алгоритмы дорабатываются уже потом. Ведь их разработка может обойтись дороже, чем наем специалиста на первое время, — а пока нужно проверить гипотезу, и таких расходов желательно избежать. Скажем, в Америке был сервис бронирования билетов, который начинал работу именно по такой модели. Владелец принимал заявки на бронирование и вместо автоматизации сам руками бронировал билеты, а потом отправлял заказчику. Сервис достиг успеха, и в 2014 году его за два миллиарда долларов купила компания Booking Holdings — владелец одноименного сайта.

Флинтстоун. «Флинтстоуны» — это мультфильм о приключениях семьи в каменном веке. У главы семьи был «автомобиль», который фактически не работал: чтобы машина двигалась, нужно было бежать самостоятельно. Примерно так работает этот тип MVP, который еще называют «Волшебником из страны Оз» — тот тоже имитировал магию.

Это MVP, который только притворяется полноценным продуктом. На самом деле создается только оболочка, а все заявленные функции на первое время имитируются. Например, интернет-магазин обуви Zappos изначально работал как флинтстоун-MVP: создатель просто покупал обувь в обычных магазинах и отправлял заказчикам. У него не было ни своего склада, ни отлаженных процессов. Он просто хотел доказать, что обувь можно покупать через интернет. Кстати, сейчас Zappos стоит больше 2 миллиардов долларов и давно уже работает как полноценный маркетплейс обуви.

Как запустить MVP

При создании нового продукта начать с MVP часто выгоднее и удобнее, чем сразу делать большой и дорогостоящий проект. Но минимально жизнеспособный продукт тоже нужно делать правильно: иначе получится или неминимальный, или нежизнеспособный. Соответственно, никаких преимуществ неправильный MVP не даст.

Специалисты советуют делить создание MVP на этапы и выполнять их последовательно — пусть результат предыдущего этапа помогает на следующих.

Понять принципы. Лучше всего — собраться и обговорить, все ли участники разделяют видение идеи и ее реализации. Если вдруг окажется, что кто-то имеет вообще другой взгляд на будущий MVP, лучше узнать это раньше, чем позже.

Определить проблему. Нужно понять, какую проблему пользователя будет решать продукт. Возможно, он будет делать какой-то процесс удобнее, помогать экономить время или деньги. Понимание проблемы поможет лучше продумать MVP и сформировать УТП и айдентику.

Определить ЦА. Сразу делать продукт для широкой аудитории ошибочно — это повышает риски прогореть, ведь угодить всем невозможно. Поэтому сначала стоит отобрать основную целевую аудиторию, составить ее портрет и разрабатывать MVP под ее нужды и привычки.

Проанализировать конкурентов. Конкуренты — это не только точно такие же решения, но и другие игроки того же рынка с несколько иным продуктом. Стоит отобрать трех основных конкурентов и проанализировать со всех сторон: сильные и слабые стороны, уникальные торговые предложения, первичные и вторичные данные, доли на рынке. Это поможет избежать недостатков конкурентов, но подхватить преимущества. Можно собирать информацию с помощью автоматических сервисов, нанять аналитика или посещать отраслевые мероприятия.

Провести SWOT-анализ будущего продукта. Анализ состоит из четырех пунктов: сильные стороны, слабые стороны, возможности и угрозы для продукта. У него есть определенная методология проведения, и его лучше проводить или всей командой, или хотя бы ее основной частью.

Построить карту пути клиента. Карта пути — это действия, которые должен совершить клиент, когда работает с продуктом. Ее нужно составить, чтобы понять, как вообще должен выглядеть интерфейс продукта и какие у него должны быть функции. Скажем, для работы с приложением-тасктрекером человек должен войти, указать цели, добавить задачи и сроки их выполнения — вот из таких действий пользователя складывается карта пути. Кстати, карту можно дорабатывать на следующих этапах, особенно после получения обратной связи.

Определить основные функции MVP. Можно посмотреть на карту пути и по ней сделать вывод, какие функции нужны для продукта. Они должны помогать решить основную задачу. Каждый шаг в карте — своя функция или набор функций. Сначала лучше продумать все функции полноценного продукта, потом нужно будет отобрать из них основные — те, которые стоит реализовать в MVP.

Разработать MVP. Разработка обычно проходит быстро, и в процессе используют готовые решения, применяют гибкие методологии и экономят ресурсы. Часто пользуются Scrum или экстремальным программированием, могут также применять Lean-методологию или канбан. Выбрать методику важно: если организация процессов будет неподходящей, все развалится еще до выхода на рынок.

Провести тестирование. Готовый MVP еще рано выпускать на рынок: лучше сначала провести альфа- и бета-тестирование, например среди сотрудников или узкого круга подписчиков. Бывают и открытые тесты. В ходе тестирования люди получат ранний доступ к продукту и смогут оставить обратную связь, а создатели — обнаружить с ее помощью ошибки и исправить перед выходом на рынок.

Протестированный продукт можно выпускать на рынок, рекламировать и оценивать обратную связь — все для того, чтобы в будущем улучшить его до полномасштабного проекта. Так начинали многие крупные корпорации: это рабочая методика, проверенная годами.

Подробнее про создание MVP вы можете узнать на наших курсах. Станьте специалистом в современной отрасли: максимум практики, минимум скуки!

* Принадлежит корпорации Meta, которая признана экстремистской и запрещена на территории РФ.

IT-специалист с нуля

Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

картинка (75)

Статьи по теме:
От чтения книг Николая Носова до презентации готового решения на выставке Non-Fiction

Почему для больших проектов обычно выбирают Java, средних — PHP, а быстро развивающихся стартапов — Ruby или Go

Что такое MVP и как это использовать

MVP — это паттерн, который используют многие разработчики, даже если не догадываются об этом. Может, вы один из них?

Евгений Кучерявый

Евгений Кучерявый

Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.

MVP — это паттерн программирования графических интерфейсов. В нём приложение делится на три компонента:

  • Model (Модель) работает с данными, проводит вычисления и руководит всеми бизнес-процессами.
  • View (Вид или представление) показывает пользователю интерфейс и данные из модели.
  • Presenter (Представитель) служит прослойкой между моделью и видом.

Как и другие подобные паттерны (MVC, MVVM), MVP позволяет ускорить разработку и разделить ответственность разных специалистов; приложение удобнее тестировать и поддерживать.

Чаще всего его используют разработчики мобильных приложений, однако он гораздо популярнее, чем может показаться. Дело в том, что этот паттерн активно применяется в вебе, хотя там его и называют MVC:

Как работает MVP

На схеме выше видно, что приложение, созданное по принципам MVP, работает с помощью связи модели, вида и представителя. Происходит это так:

  1. Вид строит интерфейс и добавляет в него данные из модели.
  2. Пользователь видит информацию и взаимодействует с интерфейсом.
  3. Вид перехватывает события и передаёт (делегирует) их представителю.
  4. Представитель обрабатывает данные (не всегда) и передаёт их модели.
  5. Модель выполняет какие-то операции и обновляется (меняет те или иные свойства).
  6. Представитель получает обновлённую модель и передаёт её виду.
  7. Вид строит интерфейс с новыми данными.

Основное отличие MVP и MVC в том, что в MVC обновлённая модель сама говорит виду, что нужно показать другие данные. Если же этого не происходит и приложению нужен посредник в виде представителя, то паттерн стоит называть MVP.

Всё это можно сравнить с работой издательства:

  1. Автор готовит текст (модель).
  2. Текст получает издатель (представитель).
  3. Если с текстом всё в порядке, издатель передаёт его в отдел вёрстки (вид).
  4. Верстальщики готовят книгу, которую начинают продавать читателям (пользователи).
  5. Если пользователи как-то реагируют на книгу, например, пишут письма в издательство, то работа может начаться заново. Допустим, кто-то может заметить в книге неточность, тогда издатель передаст информацию автору, автор её обновит и так далее.

Конечно, это не точный алгоритм работы издательства, но для иллюстрации принципов MVP его достаточно.

Пример MVP-приложения

Так как MVP служит для упрощения разработки графических интерфейсов, рассмотреть его можно на примере WPF-приложения. В качестве вида будут выступать файлы MainWindow.xaml (разметка интерфейса) и MainWindow.xaml.cs (обработчик событий).

Начать можно с создания интерфейса авторизации:

Теперь можно приступить к файлу MainWindow.xaml.cs:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *