Многодокументный интерфейс[1] (англ. multiple document interface, MDI) — способ организации графического интерфейса пользователя, предполагающий использование оконного интерфейса, в котором большинство окон (исключая, как правило, только модальные окна) расположены внутри одного общего окна. Этим он и отличается от SDI, в котором окна располагаются независимо друг от друга. Разработчики широко используют оба типа интерфейса, а зачастую и интерфейс смешанного типа. Например, Microsoft меняла интерфейс Microsoft Office от SDI к MDI, а потом вернулась обратно к SDI, хотя степень реализации включает и первое, и второе.
Среди недостатков MDI часто указывали отсутствие наглядной информации об открытых окнах, для просмотра текущего списка открытых окон в приложении пользователю было необходимо выбрать в меню пункт «открытые окна/window list», или подобный ему. В последнее время в приложениях стали появляться панели задач и вкладки для отображения открытых окон в MDI. Такой тип интерфейса иногда называют многодокументным интерфейсом с вкладками (TDI), хотя фактически это разновидность MDI.
Почти все конструкторы и редакторы приложений на сегодняшний день предоставляют по крайней мере одно решение для создания MDI-интерфейса. Так, например, в библиотеке для создания графического интерфейса на языке Java под названием Swing есть класс javax.swing.JDesktopPane
, который создаёт контейнеры для отдельных фреймов (класс javax.swing.JInternalFrame
). В другом популярном наборе элементов интерфейса — GTK+ — такой возможности нет.
Сравнение с SDI
правитьПреимущества
править- В интерфейсе типа MDI (как и в TDI) общая панель меню и панель инструментов для всех дочерних окон, что уменьшает загромождённость экрана элементами интерфейса и увеличивает его полезную площадь.
- Все окна приложения можно прятать/показывать, сворачивать/разворачивать и проводить с ними другие манипуляции, как с одним окном.
- Дочерние окна можно размещать «черепицей» или «каскадом» в главном окне.
- Увеличение скорости и экономия памяти при работе в одном окне, скорость переключения между дочерними окнами также выше, чем между равноправными в среде операционной системы[источник не указан 3152 дня].
- В некоторых приложениях предусмотрены «горячие сочетания клавиш» для быстрой навигации, в частности, для переключения между окнами. Это ещё более повышает скорость и удобство работы с приложением, так как не задействуются дополнительные ресурсы операционной системы.
- Логичное решение, если окна — части одного проекта.
Недостатки
править- Затруднительно (чаще всего невозможно) выводить содержимое разных дочерних окон на разные мониторы.
- Также невозможно выводить их содержимое на разные виртуальные рабочие столы.
- MDI может затруднить параллельную работу с разными приложениями, так как переключение между внешними окнами разных программ и дочерними окнами одной неудобно.
- Плавающие панели инструментов одного приложения могут перекрывать рабочее окно другого, загораживая обзор, а иногда и сбивая пользователя с толку — какая панель к какому приложению относится.
- Пользователю нужно привыкать к обоим типам интерфейса, так как введение MDI не отменяет полностью использование SDI, который заложен в большинстве операционных систем.
- Многие оконные системы (3D Desktop, Exposé) позволяют с комфортом переключаться между программами. Подобное переключение между окнами документов, как правило, не работает.
- Хаос на «рабочем столе» программы, когда открыто одновременно несколько документов.
- По умолчанию использующийся в Windows интерфейс MDI не поддерживает средств переключения между окнами программы, наподобие панели задач.
Примечания
править- ↑ Крис Андерсон. Основы Windows Presentation Foundation (неопр.). — ДМК Пресс, 2008. — С. 68. — ISBN 978-5-457-49581-4.
В статье не хватает ссылок на источники (см. рекомендации по поиску). |