Рубрика «mvp» - 8

Добрый день, уважаемые коллеги. В этой статье я бы хотел рассказать о своем аналитическом понимании различий паттернов MVC, MVP и MVVM. Написать эту статью меня побудило желание разобраться в современных подходах при разработке крупного программного обеспечения и соответствующих архитектурных особенностях. На текущем этапе своей карьерной лестницы я не являюсь непосредственным разработчиком, поэтому статья может содержать ошибки, неточности и недопонимание. Заинтригованы, как аналитики видят, что делают программисты и архитекторы? Тогда добро пожаловать под кат.Читать полностью »

Доброго времени суток!
Model-View-Presenter — довольно известный шаблон проектирования. С первого взгляда все выглядит просто: есть Модель (Model), которая содержит всю бизнес-логику экрана; Вид/Представление (View), который знает, как отобразить те или иные данные; Представитель (Presenter), который является связующий звеном — реагирует на действия пользователя во View, изменяя Model, и наоборот.
Сложность начинается, когда количество форм в проекте становится более одной.
В данной статье рассматривается:
— немножко теории;
— общие проблемы реализации MVP (а именно Passive View) под Windows Forms;
— особенности реализации переходов между формами и передача параметров, модальные окна;
— использование IoC-контейнера и шаблона Dependency Injection — DI (а именно Сonstructor Injection);
— некоторые особенности тестирования MVP приложения (с использованием NUnit и NSubstitute);
— все это будет происходить на примере мини-проекта и постарается быть наглядным.
В статье затрагивается:
— применение шаблона Адаптер (Adapter);
— простенькая реализация шаблона Контроллер приложения (Application Controller).
Для кого эта статья?
Главным образом для начинающих разработчиков на Windows Forms, которые слышали, но не пробовали, или пробовали, но не получилось. Хотя уверен, что некоторые приемы применимы и для WPF, и даже для веб-разработки.
Читать полностью »

Назад, к технологиям верхнего палеолита, от любимых всеми REST, STATEless, CRUD, CGI, FastСGI и MVC«Только со смертью догмы начинается наука.»
// Галилео Галилей

«Я начал завидовать рабам. Они всё знают заранее. У них твёрдые убеждения.»
// х/ф Марка Захарова «Убить дракона» по мотивам пьесы Евгения Шварца

Уже пару лет и дня не проходит, чтобы я не услышал (или не прочитал) от людей, начинающих новые проекты, фразу типа «Возьмем серверный движок для REST API и MVC, и погнали». Сначала я думал, что у этих слов есть один источник, может книжку какую завезли во все магазины или где-то в топе поисковиков лежит статья, зомбирующая разработчиков. Если же выяснять у них, что они понимают под REST и MVC, то можно повредиться умом. Ну с MVC уже все ясно, об этом я уже давно писал, ничего не изменилось, только усугубилось, стоит набрать в Google Images «mvc» и мы увидим страшное, стрелочки в любые стороны. Ну а про REST отвечают следующее: ну как же, нам нужно из браузерного GUI и мобильного приложения вызывать серверные методы, например: setUserCity(userId, cityId) или calculateMatrix(data) или startVideoConverter(options, source, destination) а потом мы столкнемся с большой нагрузкой и архитектура REST все решит. Дальше я задаю вопросы, от которых глаза округляются уже у тех, кто недавно еще горел праведной верой, рвался в бой и точно знал, что к чему в этом мире. Теперь можно перейти к рассмотрению терминологической катастрофы, в эпицентре которой мы с вами пребываем.
Читать полностью »

image

Всем привет, я Евгений и давайте поговорим.
Расскажу несколько историй, а пока — я UX-разработчик, но при этом занимаюсь фронтэндом полностью, потому что мне это нравится.
Истории будут о том, почему MVP — это не «говнокод по-быстрому», а минимальная версия продукта, которая должна будет развиваться в будущем. Запомните — minimal product, не продукт с говнокодом.
Читать полностью »

Вы помните свой самый первый день в офисе? Тот самый момент, когда вы, новичок, в первый раз приходите на работу? Это именно то, что, как я вспоминаю, делал совсем недвано тут в Distilled. Помимо приветственных улыбок коллег, там был мой рабочий стол, оборудованный лэптопом, монитором и Kindle. На Kindle была загружена библиотека рекомендованных для чтения материалов, включая The Lean Startup (Бережливый стартап).

Как начать SEO продвижение по принципу «Бережливого стартапа»

Читая книгу The Lean Startup (Бережливый стартап) я спросил себя, зачем Distilled рекомендовала мне эту книгу и какое отношение она имеет к SEO? Читать полностью »

MVP – не дешевый продукт, а умный процесс познания Минимально жизнеспособный продукт (minimum viable product — MVP) – не всегда уменьшенная/удешевленная версия законченного продукта. Определение точки, в которой можно выпустить MVP, с самого старта может сэкономить вам много времени, денег и ваших слез.

Дроны в Хартленде

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

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

Стратегия продукта подразумевает ответ — «Нет!»

Как следует из последней рекламы Apple, могут существовать десятки тысяч версий вашего продукта, которые могут появляться из-за разных фич, важных и неважных. Большинство из этих версий с треском провалятся и только лучшие смогут обслужить рынок.Читать полностью »

Модель пропасти

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

Сейчас, куда не посмотри, все стали учёные: литературой запаслись, интернеты читают. Кого не спроси, и о кривой принятия технологии знают, и вообще всё им понятно: «… да-да, знаем! Есть Новаторы, Ранние последователи, есть рынок ранний, а есть поздний, отщепенцы и увальни — ну куда без них? Да-да, между рынками, ранним и основным, есть пропасть, которую нужно перепрыгнуть!» Знают. Прыгают. Только, бывает, пикируют. А всё почему? Потому что аннотацию прочли, а содержимое не осилили. Поэтому я написал эту заметку. Речь пойдёт о том, что важные вещи, которые нужно знать о модели Пропасти, не всегда лежат на поверхности.
image

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

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

Канва предлагаемой ценности позволяет подробно рассмотреть ценность вашего предложения и потребности ваших целевых сегментов. Для улучшения ценностного предложения при его разработке можно использовать постер (см. изображение ниже) и стикеры. При этом, чтобы убедиться, что потребителям действительно нужно то, что вы разрабатываете, необходимо протестировать все предположения, которые вы выдвигаете на Канве предлагаемой ценности. Читать полностью »

Мне очень нравится движение бережливых стартапов и его основополагающий принцип, согласно которому соответствующий рынку продукт ищется путем тестирования, изучения и экспериментирования с самыми простыми прототипами продуктов, которые себе только можно представить (так называемыми минимальными жизнеспособными продуктами — MVP). Это помогает компаниям избежать создания продуктов, которые потребителям не нужны. Однако основополагающий концептуальный инструмент для сопровождения этого процесса до недавнего времени отсутствовал. Не было практического инструмента, который бы помогал бизнесменам схематично изображать, продумывать, обсуждать, тестировать и изменять предлагаемую компанией ценность в соответствии с потребностями своих клиентов. Поэтому вместе с Ивом Пинье и Аланом Смитом мы придумали Канву предлагаемой ценности.

Канва предлагаемой ценности является как-бы дополнением к Канве бизнес-модели. Она помогает проектировать, тестировать и формировать предлагаемую потребителям ценность более структурированным и продуманным методом точно так же, как Канва бизнес-модели помогает в процессе разработки бизнес-модели (я ранее подробно писал, как мы придумали этот новый инструмент).

Канва бизнес-модели с ее 9 составляющими блоками концентрируется на общей картине. Канва предлагаемой ценности подробно рассматривает два из этих блоков – предлагаемую ценность и сегмент покупателя, позволяя описывать и более подробно анализировать «соответствие» между ними. Компаниям необходимо добиться как правильного «соответствия», так и правильной бизнес-модели, если они не хотят прогореть, о чем я писал ранее в посте про неудачи. Эти инструменты лучше всего работают в комбинации. Один не заменяет собой другой.

image

В данном посте я расскажу об этом концептуальном инструменте. В следующем своем посте я объясню, как его можно применять в тестировании в сочетании с методами развития клиента Стива Бланка и бережливого стартапа Эрика Риса. Канва предлагаемой ценности позволит лучше описать гипотезы по предлагаемым ценностям и потребителям, подготовиться к интервью с потребителями, а также станет руководством по тестированию и изменениям.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js