Об актуальном. Как-то последнее время начинаю все с большей и большей теплотой относиться к виртуальному режиму списка (ListView). Ощущение полного контроля над списком: что, как и когда он отображает – настолько впечатляет, настолько завораживает, что нет слов. Действительно, код поначалу приходится сильно доводить, продумывать, вникать в детали. Но это только поначалу. Зато потом, возникает устойчивое чувство, что все работает как надо, что код “сверкает всеми гранями и бесконечно совершенен в своей продуманности, последовательности, и определенности”.
А по сути-то, в виртуальном списке всего лишь выполняется старинный программерский завет, она же отчасти первая нормальная форма: “данные должны быть определены единожды и однозначно”. Если задаются какие-то значения, то только в одном единственном месте. Какие данные есть в бизнес-слое приложения, те в ListView и отображаются. А не извечный геморрой: что в конкретный момент времени в ListView де-факто, а что в модели, и в какой момент времени данные должны обновляться в пользовательском интерфейсе, и кем это обновление инициируется...
А уж вкупе с механизмом CustomDraw и вовсе наступает окончательный дзэн. Эмулировать из виртуального ListView дерево-подобный элемент управления, с ветками, и прочей дребеденью, но в довесок со всеми преимуществами списка и вовсе становится элементарно. В общем, буду краток (ц) – прёт!
Все ж прав автор статьи по ссылке выше “Все программисты делятся на тех, кто повсеместно применяет виртуальный режим, и тех…” Попробовав единожды, отказываться от подобных плюшек уже и вовсе не хочется.
Комментариев нет:
Отправить комментарий