Читаем Человеческий фактор в программировании полностью

Ни один из пользователей, чей здравый смысл не повредился за годы болтовни с объектно-ориентированными компиляторами, не скажет, что его взаимодействие с графическим пользовательским интерфейсом заключается в «отправке сообщений объектам». Пользователи не отправляют сообщения объектам. Они что-то делают с ними или с их помощью. Даже так называемое «прямое манипулирование» является своего рода неправильным направлением, сбивающим с прямого пути. Пользователи ничем не манипулируют напрямую, когда перемещают мышь по столу для перемещения курсора или изменения картинки. Наша способность научиться таким действиям и воспринимать их как разумные является еще большим даром человеческого мозга, чем способность программировать компьютер для участия в этой пантомиме курсоров и пикселов.

Поверхностные элементы

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

Так называемые «объекты-фабрики» («factory objects»), помещенные в интерфейс, можно привести в качестве примера полезного исключения. Визуальные компоненты, которые при щелчке мышью или при перемещении порождают новые экземпляры класса, являются интересной и недостаточно используемой формой объектно-ориентированной технологии пользовательских интерфейсов. «Блок» «листов для факса» можно при-менять для открытия чистой формы, готовой для заполнения и последующей передачи. Не каждому такая «документо-ориентированная» схема покажется самой удачной, поэтому следует подумать и о других подходящих вариантах.

Коллинс противопоставляет ООПИ другим, не объектно-ориентированным ПИ, но тот соломенный заборчик, который он возводит, на самом деле является древним интерфейсом командной строки. В интерфейсах командной строки глагол (команда) ставится перед дополнением (параметром). Иногда утверждается, что грамматика типа «дополнение-глагол» в ООПИ является более естественной и более гибкой — выбираете картинку и щелкаете по инструменту изменения цвета или перетаскиваете документ к принтеру.

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

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

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

В реальном мире работник офиса может поднести стопку документов к степлеру и скрепить их. Это соответствует «объектно-ориентированной» идиоме drag-and-drop: щелкаем мышью по пиктограмме стопки документов, перетаскиваем ее к пиктограмме степлера и отпускаем. Обратите внимание, что операция почти идентична выделению объекта нажатием кнопки мыши, затем перемещению указателя к степлеру и выполнению еще одного нажатия кнопки мыши, но только с одной существенной разницей. Для многих пользователей операция drag-and-drop оказывается одной из наиболее сложных для освоения. Они предпочитают последова-тельно щелкать мышью по двум объектам. Для них это проще, чуть быстрее и гораздо надежнее. Однако другие пользователи, зараженные интерфейсами командной строки или развращенные многолетним выполнением реальной работы вместо использования компьютеров, могут предпочесть сначала выбрать инструмент для скрепления и потом щелкнуть мышью по стопке документов, которые нужно скрепить.

Перейти на страницу:

Похожие книги

«1С. Управление небольшой фирмой 8.2». Управленческий учет в малом бизнесе
«1С. Управление небольшой фирмой 8.2». Управленческий учет в малом бизнесе

Описана новейшая версия программы «1С: Управление небольшой фирмой 8.2», которая сочетает в себе многофункциональность, простоту в освоении и достоинства современного интерфейса программ фирмы «1С». В этой конфигурации есть все необходимое для автоматизации оперативного и управленческого учета на предприятии малого бизнеса. В то же время программа не перегружена средствами учета, что очень важно для формирования оптимального соотношения между стоимостью и функциональностью.Изложение материала в книге построено с использованием большого количества примеров, часть из которых разобраны очень подробно. Надеемся, что эта книга станет надежным путеводителем для тех пользователей, которые только начинают знакомство с программой, а более опытные пользователи также найдут для себя важную и полезную информацию.Издание подготовлено при содействии компании «1С: Франчайзинг. БИЗНЕС-КЛУБ» – официального партнера фирмы «1С».

Николай Викторович Селищев

Маркетинг, PR
111 способов повысить продажи без увеличения затрат
111 способов повысить продажи без увеличения затрат

В любом бизнесе всегда можно сделать что-то еще для увеличения продаж, ведь ни одна компания не использует все возможные и подходящие ее специфике методы маркетинга. Например, средний магазин «Walmart» (крупнейшая сеть дисконт-супермаркетов в мире) использует порядка 500 способов (ошибки в нолях нет) привлечения клиентов и увеличения продаж. А чем вы хуже? «Под ногами» лежит больше денег, чем бизнес зарабатывает в данный момент. Нужно только наклониться, чтобы их поднять. Продажи компании можно легко увеличить относительно простыми и малозатратными или вовсе бесплатными способами. Именно такие способы приводятся в этой книге. Читайте и внедряйте новые для вас методы, иначе это сделают ваши конкуренты, а вы будете в роли догоняющих!

Айнур Сафин

Маркетинг, PR / Маркетинг, PR, реклама / Финансы и бизнес