다중 문서 인터페이스

다중 문서 인터페이스 (MDI)는 여러 창을 하나의 부모 창에서 상주하는 그래픽 사용자 인터페이스이다. 이러한 시스템은 자식 창이 다른 창을 포함하여 복잡하게 중첩된 계층 구조를 만들 수 있다. 모든 창이 독립적인 것은 단일 문서 인터페이스 (SDI)와 대조를 이룬다.

단일 문서 인터페이스와의 차이점
사용자 커뮤니티에서는 다중 문서 인터페이스와 단일 문서 인터페이스의 선호도 차이에 대해 많은 토론이 있었다. 소프트웨어 회사들은 둘이 혼합된 형태를 사용한다. 예를 들어,  마이크로소프트는 컴포넌트에 따라서 구현의 정도는 다르긴 하지만 마이크로소프트 오피스를 SDI에서 MDI로 바꿨다가 다시 SDI로 되돌렸다. 일반적으로 SDI가 하나 이상의 응용 프로그램을 동시에 사용하여 일할 때 유용하다.

장점
 자식 창들이 공유하는 다중 문서 인터페이스의 메뉴바 또는 툴바는 혼동을 줄이고 화면 공간을 효율적으로 사용할 수 있게 한다. 이 점은 공통의 메뉴바를 사용하는 운영체제에 적합하다.
 응용 프로그램의 자식 창들을 한꺼번에 최대화/최소화하거나 표시하고 숨길 수 있다.
 "타일"과 "캐스케이드" 같은 기능들을 자식 창에 구현할 수 있다.
 크로스 플랫폼 애플리케이션 개발자가 일관된 행동 양식을 유저에게 제공할 수 있다.
 윈도 환경과 OS 가 창 관리가 나쁘면 사용자가 직접 할 수 있다.
 MDI 프레임 윈도가 없는 부동 툴바는 잠적으로 다른 응용 프로그램의 작업 영역을 복잡하게 하고 사용자에게 혼란을 줄 수 있다.
 모듈화: 고급 창 관리자가 애플리케이션에 독립적으로 업그레이드 할 수 있다.

단점
 복수의 모니터를 사용할 경우 부모 창이 섹션을 숨긴 채로 2개 이상의 모니터에 걸쳐 있는 경우 구현이 힘들 수 있다.
 MDI는 창이 서로 가지 않고 동시에 여러 애플리케이션으로 일하기 힘들게 만든다.
 공유 메뉴는 일부 사용자에게 혼란을 일으킬 수 있다.
 MDI 자식 창은 SDI 애플리케이션에서의 동작과 미묘하게 달라서 사용자 개념을 배우는 것이 필요하다. 마찬가지로 MDI 부모 창은 여러면에서 데스크탑처럼 행동하지만, 일부 사용자들을 혼란스럽게 하기에 충분한 차이가 있다.
 깊이 중첩된 자식 창의 계층 구조는 혼란스러울 수 있다.
 창 관리자는 MDI보다 유연하게 창 묶음을 관리할 수 있는 기능을 내부적으로 제공한다. 일반적인 정책은 같은 애플리케이션에 속한 창들을 자동으로 묶는 것이다. 틀림없이 이는 MDI가 하는 기능과 중복되는 기능이다.
 고급 창 관리자에서 사용자 설정이 동일한 시스템에서 애플리케이션 간에 공유되더라도 MDI 애플리케이션을 위한 콘트롤들과 단축키들이 다른 애플리케이션에 적용되지 않을 수 있다.

같이 보기 
 그래픽 사용자 인터페이스
 탭 브라우징
 단일 문서 인터페이스
 통합 개발 환경

그래픽 사용자 인터페이스
사용자 인터페이스 기술