Из Википедия цитата:
Графический интерфейс на основе 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+ - такой возможности нет.
Преимущества
В интерфейсе типа MDI (как и в TDI) общая панель меню и панель инструментов для всех дочерних окон, что уменьшает загромождённость экрана элементами интерфейса и увеличивает его полезную площадь.
Все окна приложения можно прятать/показывать, сворачивать/разворачивать и проводить с ними другие манипуляции, как с одним окном.
Дочерние окна можно размещать «черепицей» или «каскадом» в главном окне.
Увеличение скорости и экономия памяти при работе в одном окне, скорость переключения между дочерними окнами также выше, чем между равноправными в среде операционной системы.
В некоторых приложениях предусмотрены «горячие сочетания клавиш» для быстрой навигации, в частности, для переключения между окнами. Это ещё более повышает скорость и удобство работы с приложением, так как не задействуются дополнительные ресурсы операционной системы.
Недостатки
Затруднительно (чаще всего, невозможно) выводить содержимое разных дочерних окон на разные мониторы.
Также невозможно выводить их содержимое на разные виртуальные рабочие столы.
MDI может затруднить параллельную работу с разными приложениями, так как переключение между внешними окнами разных программ и дочерними окнами одной неудобно.
Плавающие панели инструментов одного приложения могут перекрывать рабочее окно другого, загораживая обзор, а иногда и сбивая пользователя с толку - какая панель к какому приложению относится.
Пользователю нужно привыкать к обоим типам интерфейса, так как введение MDI не отменяет полностью использование SDI, который заложен в большинстве операционных систем.
Многие программные менеджеры окон предоставляют более гибкие возможности для работы с группами окон, чем MDI-интерфейс того или иного приложения.
Created with the Personal Edition of HelpNDoc: Full featured multi-format Help generator