Сравнение с SDI

advertisement
MDI (Multiple Document Interface), позволяет в одном приложении работать
одновременно с несколькими документами или с разными представлениями одного и
того же документа. Этот интерфейс описан в руководстве по разработке интерфейса
пользователя System Application Architecture Common User Access Advanced
Interface Design Guide (SAA/CUA), созданном IBM. Интерфейс MDI использован в
Windows, начиная с версии 3.0, в Windows NT, а также, разумеется, в графической
оболочке Presentation Manager операционной системы OS/2.
В качестве примера приложения, использующего интерфейс MDI (MDI-приложения), можно
привести текстовый процессор Microsoft Word for Windows версии 2.0.
http://ru.wikipedia.org/wiki/Multiple_document_interface
Графический интерфейс на основе multiple document interface (или MDI) —
представляет собой окна, расположенные под одним общим окном (как правило, за
исключением модальных окон), в отличие от окон, расположенных отдельно друг от
друга (SDI). Сокращение MDI обычно не расшифровывается. Вопрос: какой тип
интерфейса предпочтителен - MDI или SDI - часто становится предметом обсуждений
в сообществе разработчиков и пользователей программного обеспечения. Очевидно,
что SDI более удобен при работе с несколькими приложениями разных типов.
Разработчики широко используют оба типа интерфейса, а зачастую и интерфейс
смешанного типа. Например, Microsoft меняла интерфейс Microsoft Office от SDI к MDI,
а потом вернулась обратно к SDI, хотя степень реализации включает и первое, и
второе.
Среди недостатков MDI часто указывали отсутствие наглядной информации об
открытых окнах, для просмотра текущего списка открытых окон в приложении
пользователю было необходимо выбрать в меню пункт «открытые окна/window list»,
или подобный ему. В последнее время в приложениях стали появляться панели задач и
вкладки для отображения открытых окон в MDI. Такой тип интерфейса иногда
называют: «Tabbed document interface» (TDI), хотя фактически это разновидность MDI,
после распространения которой критики заметно поубавилось.
Сравнение с SDI
Преимущества:
 В интерфейсе типа MDI (как и в TDI) общая панель меню и панель
инструментов для всех дочерних окон, что уменьшает загромождённость экрана
элементами интерфейса и увеличивает его полезную площадь.
 Все окна приложения можно прятать/показывать, сворачивать/разворачивать и
проводить с ними другие манипуляции, как с одним окном.
 Дочерние окна можно размещать «черепицей» или «каскадом» в главном окне.
 Увеличение скорости и экономия памяти при работе в одном окне, скорость
переключения между дочерними окнами также выше, чем между
равноправными в среде операционной системы.
 В некоторых приложениях предусмотрены «горячие сочетания клавиш» для
быстрой навигации, в частности, для переключения между окнами. Это ещё
более повышает скорость и удобство работы с приложением, так как не
задействуются дополнительные ресурсы операционной системы.
Недостатки:
 Затруднительно (чаще всего, невозможно) выводить содержимое разных
дочерних окон на разные мониторы.
 Также невозможно выводить их содержимое на разные виртуальные рабочие
столы.
 MDI может затруднить параллельную работу с разными приложениями, так как
переключение между внешними окнами разных программ и дочерними окнами
одной неудобно.
 Плавающие панели инструментов одного приложения могут перекрывать
рабочее окно другого, загораживая обзор, а иногда и сбивая пользователя с
толку - какая панель к какому приложению относится.
 Пользователю нужно привыкать к обоим типам интерфейса, так как введение
MDI не отменяет полностью использование SDI, который заложен в
большинстве операционных систем.
 Многие программные менеджеры окон предоставляют более гибкие
возможности для работы с группами окон, чем MDI-интерфейс того или иного
приложения.
Single document interface (или SDI) — способ организации графического интерфейса
приложений в отдельных окнах. Не существует «фонового» или «родительского»
окна, содержащего меню или панели инструментов, по отношению к активному —
каждое окно несёт в себе эти элементы. Такие приложения, позволяющие
редактировать более одного документа одновременно, например, текстовые процессоры,
могут создавать у пользователя впечатление, что запущена не одна копия программы,
а несколько.
Обычно, каждое из окон отображается отдельно на панели задач операционной
системы, иногда панель задач позволяет группировать записи об окнах,
принадлежащих одной программе.
Многодокументный интерфейс со вкладками (англ. Tabbed document interface) —
разновидность графического интерфейса пользователя, в котором каждый документ
находится на отдельной вкладке одного окна.
Благодаря компактности и простоте написания, вкладочный интерфейс широко используется
в самом разном ПО (браузеры, среды программирования и т. д.) — а также в простом
самописном ПО.
Сравнение с SDI
Преимущества:
 Если в программе есть какие-то общие интерфейсные элементы, относящиеся
ко всем документам, интерфейс на вкладках — логичный шаг.
 Логически отделяются окна документов от окон других программ.
 Расходуется меньше памяти.
 Панели управления разных окон находятся в одном и том же месте.
 Логичный шаг, когда все документы — это части одного «мегадокумента» или
«проекта» (как и в MDI).
Недостатки:
 Тяжело работать с большим количеством программ одновременно (впрочем,
как и в MDI).
 Не работают встроенные в ОС функции переключения между программами
наподобие 3D Desktop и Exposé.
 Невозможно увидеть несколько документов одновременно. Эта задача решается
гибридными схемами (см. ниже).
 Не получается задействовать много мониторов.
 Авария с одним из документов приводит к аварии всей программы (как и в
MDI).
Сравнение с MDI
Преимущества:




Лёгкий доступ к различным документам (как и в SDI).
При переключении между несколькими окнами: заголовки окон не отнимают места.
Нет хаоса на рабочем столе, когда открываются несколько документов.
Как следствие — программисту не нужно писать какие-либо ухищрения для борьбы с
этим хаосом, а пользователю — располагать окна в нужном порядке.
Недостатки:
 Не работают встроенные в ОС функции переключения между программами наподобие
3D Desktop и Exposé.
 Невозможно увидеть несколько документов одновременно. Эта задача решается
гибридными схемами (см. ниже).
 Невозможно задействовать много мониторов.
 Если документы имеют размеры меньшие, чем экран — излишний расход места на
экране.
Гибриды
Вкладочный интерфейс — благодатная почва для различных интерфейсных гибридов. Вот
несколько вариантов.
Фреймовый интерфейс
Окно программы делится на несколько фреймов. В каждом из них можно держать несколько
вкладок с документами. Типичный пример — Code::Blocks.
Преимущества: малый расход места на экране сочетается с возможностью видеть несколько
документов. Недостатки: сложно программируется; упрощённые реализации могут
накладывать свои ограничения (например, часть документов располагаются в панели
гаджетов и видны постоянно, а остальные — на вкладках); невозможно расположить
документы на разных мониторах или разных «рабочих столах»; некоторые типы панелей
(например, миникарта в редакторе уровней) отнимают больше места, чем они реально
занимают.
MDI-окна как вкладки
Гибрид вкладочного и многодокументного интерфейса, в котором пользователь
переключается между MDI-окнами с помощью вкладок (как в Opera или IDA Pro).
Преимущества: простота программирования; лёгкость переключения и компактность TDI
сочетается с гибкостью MDI. Недостатки: формально это MDI с его высоким расходом
памяти; панель вкладок отнимает место; зачастую не удаётся задействовать несколько
мониторов; не решена проблема группировки документов.
Вкладки в MDI-окнах
Обратная концепция интерфейса: есть несколько MDI-окон, в каждом из которых есть
вкладки. Примеры: Delphi и C++ Builder, панели управления в Adobe Photoshop.
Преимущества: группирует разнотипные документы. Недостатки: универсальный интерфейс
сложно программируется, а упрощённые реализации могут накладывать свои ограничения
(например, конструктор форм в Delphi — всегда отдельное окно).
Про пользовательские интерфейсы (english):
http://richnewman.wordpress.com/2007/10/26/user-interface-design-for-business-applications/
Форум:
http://www.sql.ru/Forum/actualthread.aspx?bid=20&tid=740953&pg=1
MDI не надо использовать в тех случаях, когда не требуется переключения между
различными окнами
Если говорить о приложении, в котором используется больше одного справочника и
одного журнала, то вариант с закладками не является самым удобным, потому как не
позволяет одновременно смотреть на несколько таблиц. А это, как правило,
необходимо.
SDI-приложение с закладками абсолютно ничем не отличается от MDI с
максимизированными дочерними окнами. Чтобы разделить их, можно использовать
Docking.
К примеру - сейчас принято дублировать меню и панели во всех дочерних окнах с
документом, а не делать их только для главной формы. И принято вообще не выводить
главную форму.
Related documents
Download