MDI (ang. Multi Document Interface - wielodokumentowy interfejs) – sposób prezentacji okienek poprzezgraficzny interfejs użytkownika polegający na wyświetlaniu wewnątrz okienka nadrzędnego okienek wchodzących w skład danego programu (aplikacji). Przeciwnym podejściem jest wyświetlanie każdego z okienek osobno, taki sposób prezentacji nosi nazwęSDI (ang. Single Document Interface). Także typoprogramowania, głównie służącego do pracy z różnego rodzaju dokumentami, lecz nie tylko.
PrzykłademMulti Document Interface mogą być pakiety biurowe:OpenOffice.org,Microsoft Word lubWordPerfect a takżeprzeglądarka internetowaOpera.
Istnieją zalety jak i wady obu sposobów prezentacji okienek, istnieją zwolennicy każdego z podejść, ponadto firmy produkujące oprogramowanie zmieniają podejście co do rozwoju swoich aplikacji. Przykładowo w aplikacjiMicrosoft Office interfejs był zmieniany zMDI naSDI i z powrotem kilka razy.
Wadą niektórych programów typuMDI jest brak informacji o aktualnie otwartym okienku wewnątrz okienka nadrzędnego. Aby uzyskać listę okienek otwartych wewnątrz okienka nadrzędnego należy wybrać z menu "Okno", jeśli opcja ta jest dostępna. Czasami jednak tytuł okienka podrzędnego jest wyświetlany na pasku tytułowym okna głównego - obok tytułu okna głównego. Innym rozwiązaniem jest stosowanie kart do wyświetlania informacji o otwartych okienkach wewnątrz okienka nadrzędnegoTDI (ang. Tabbed Document Interface).
Wszystkie otwarte jednocześnie dokumenty są dostępne w jednym oknie głównym programu, jako okna podrzędne. Wobec okien zawierających poszczególne dokumenty (względem okna głównego programu), jest stosowana jest taka sama zasada jak wobec okien różnych programów względemPulpituWindows: mogą być maksymalizowane na całe okno główne, minimalizowane do ikony, ustawiane w kaskadę, bądź sąsiadująco.
Programy typuMulti Document Interface pozwalają na wygodną pracę. Użytkownik może edytować jeden dokument, przeglądając równocześnie treść jednego lub kilku innych. Lecz, w odróżnieniu od programów obsługujących tylko jeden dokument jednocześnie, wymagają większej ilościpamięci i szybszegoprocesora.
Nie należy szufladkować błędnie, iż programy typuMDI służą wyłącznie do pracy z dokumentami (tekstami). Programy komputerowe budowane w tym stylu są również narzędziami do tworzenia i edycji grafiki, dźwięku, wideo i praktycznie każdego innego typu mediów - nośników informacji.
Prawie wszystkie narzędzia do tworzeniagraficznych interfejsów użytkownika pozwalają na przynajmniej jedno rozwiązanie do zaprojektowaniaMDI. Na przykład pakietSwing dostarcza klasę javax.swing.JDesktopPane, która służy jakokontener dla indywidualnych okienek (klasa javax.swing.JInternalFrame).