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, после распространения которой критики заметно поубавилось.

Почти все конструкторы и редакторы приложений на сегодняшней день предоставляют по крайней мере одно решение для создания MDI-интерфейса. Так, например, в библиотеке для создания графического интерфейса на языке Java, под названием Swing, есть класс javax.swing.JDesktopPane, который создаёт контейнеры для отдельных фреймов (класс javax.swing.JInternalFrame). В другом популярном наборе элементов интерфейса - GTK+ - такой возможности нет.

Содержание

[править] Сравнение с SDI

[править] Преимущества

  • В интерфейсе типа MDI (как и в TDI) общая панель меню и панель инструментов для всех дочерних окон, что уменьшает загромождённость экрана элементами интерфеса и увеличивает его полезную площадь.
  • Все окна приложения можно прятать/показывать, сворачивать/разворачивать и проводить с ними другие манипуляции, как с одним окном.
  • Дочерние окна можно размещать «черепицей» или «каскадом» в главном окне.
  • Увеличение скорости и экономия памяти при работе в одном окне, скорость переключения между дочерними окнами также выше, чем между равноправными в среде операционной системы.
  • В некоторых приложениях предусмотрены «горячие сочетания клавиш» для быстрой навигации, в частности, для переключения между окнами. Это ещё более повышает скорость и удобство работы с приложением, так как не задействуются дополнительные ресурсы операционной системы.

[править] Недостатки

  • Затруднительно (чаще всего, невозможно) выводить содержимое разных дочерних окон на разные мониторы.
  • Также невозможно выводить их содержимое на разные виртуальные рабочие столы.
  • MDI может затруднить параллельную работу с разными приложениями, так как переключение между внешними окнами разных программ и дочерними окнами одной неудобно.
  • Плавающие панели инструментов одного приложения могут перекрывать рабочее окно другого, загораживая обзор, а иногда и сбивая пользователя с толку - какая панель к какому приложению относится.
  • Пользователю нужно привыкать к обоим типам интерфейса, так как введение MDI не отменяет полностью использование SDI, который заложен в большинстве операционных систем.
  • Многие программные менеджеры окон предоставляют более гибкие возможности для работы с группами окон, чем MDI-интерфейс того или иного приложения.

[править] См. также