Персональные инструменты
 

Шаблоны «Асинхронный фильтр» и «HasValue» в разработке desktop приложений (Олег Клинчаев, AgileDays-2011)

Материал из CustisWiki

Перейти к: навигация, поиск

Аннотация

Докладчик
Олег Клинчаев

Шаблон проектирования «Асинхронный фильтр»

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

В докладе речь пойдет о шаблоне проектирования «Асинхронный фильтр» — данный шаблон представляет собой формализованный подход к асинхронной загрузке и фильтрации данных. Наша команда накопила богатый опыт в использовании этого подхода не только для загрузки данных, но и для визуализации в пользовательских интерфейсах связей master — detail.


Шаблон проектирования «HasValue»

Появление фреймворка «Google Web Toolkit» не осталось незамеченным в среде Java разработчиков и не только. Но мало кто заметил простенький интерфейс из этого фрейворка — HasValue. А тем не менее этот интерфейс способен полностью перевернуть Ваши представления о разработке не только web, но и классических desktop приложений. Он позволяет существенно уменьшить связанность элементов пользовательского интерфейса и проектировать API Ваших компонентов в терминах доменной модели данных.

Видео

Видео с конференции

Видео с семинаров для студентов

Увы, без экрана, но более детальный разбор темы:


Для этого доклада нужен подкаст (аудиозапись)?

  •  Да, многое понятно и без видео части, есть смысл его прослушать.
  •  Нет, аудиозапись бесполезна (не понять без видео или вообще мало смысла в докладе).

Презентация

Шаблоны «Асинхронный фильтр» и «HasValue» в разработке desktop приложений (Олег Клинчаев, AgileDays-2011).pdf

Примечания и отзывы

Дмитрий Ермаков, Олег Клинчаев


Олег рассказал про два архитектурных шаблона полезных при разработке пользовательских интерфейсов. Первый (HasValue) позволяет абстрагироваться от конкретных особенностей отображения мастер-детали, будь то таблица, список или еще что-нибудь. А второй (асинхронный фильтр) дает возможность существенно улучшить usability приложений в области поиска данных (поиск в реальном времени, если можно так выразиться, то есть тогда поиск осуществляется не по нажатию на специальную кнопку, а непосредственно в процессе набора поисковой фразы), позволяя сделать данный поиск асинхронным и удобным для пользователя.

Доклад мне понравился, Олег рассказывал уверенно и интересно. Первый раз увидел наше боевое приложение на Java — выглядит очень симпатично.

Докладчик
Олег Клинчаев
Компания
CustIS
  • Шаблоны «Асинхронный фильтр» и «HasValue» в разработке desktop приложений (Олег Клинчаев, AgileDays-2011)

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

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

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

Интересный и полезный доклад, хорошо проиллюстрированный живыми примерами.

Выступление Олега Клинчаева открывало цикл запланированных семинаров для студентов ведущих ВУЗов страны. Олег, как первопроходец, столкнулся с очень сложной задачей — ему нужно было зажечь интересах в юных умах, чтобы наши встречи продолжались и в будущем!

Олег рассказал про два архитектурных шаблона полезных при разработке пользовательских интерфейсов.

  • «HasValue» позволяет существенно уменьшить связанность элементов пользовательского интерфейса и проектировать API Ваших компонентов в терминах доменной модели данных.
  • «Асинхронный фильтр» позволяет улучшить usability ваших приложений при решение задач поиска данных, позволяя сделать этот процесс асинхронным и удобным для пользователя.

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

В конце концов, уходя, благодарные слушатели обещали придти на следующие выступление, за что и пришлось расплачиваться Владу Йофе ;)





Внимание! Эта статья была создана путем автоматического реплицирования из внутренней базы знаний компании Заказные Информ Системы. Любые правки этой статьи могут быть перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».