다중 문서 인터페이스
Multiple-document interfaceMDI(Multiple-Document Interface)는 여러 개의 창이 하나의 부모 창 아래에 있는 그래피컬 사용자 인터페이스입니다.이러한 시스템에서는 종종 하위 창이 다른 창을 내부에 포함시켜 복잡한 중첩 계층을 만들 수 있습니다.이는 모든 창이 서로 독립적인 단일 문서 인터페이스(SDI)와 대조됩니다.
단일 문서 인터페이스와의 비교
가용성 커뮤니티에서는 다중 문서 또는 단일 문서 인터페이스 중 어느 쪽이 선호되는지에 대해 많은 논란이 있었다.소프트웨어 회사들은 두 가지 인터페이스를 모두 사용했지만 반응은 엇갈렸습니다.예를 들어 Microsoft는 Office 어플리케이션을 SDI 모드에서 MDI 모드로 변경한 후 SDI로 되돌렸습니다.단, 구현 정도는 컴포넌트에 따라 다릅니다.SDI는 사용자가 하나의 응용 프로그램 창보다 다른 응용 프로그램 간에 더 자주 전환하는 경우에 더 유용합니다.
MDI에 현재 열려 있는 창에 대한 정보가 부족하면 MDI에 혼란을 줄 수 있습니다.MDI 응용프로그램에서 응용프로그램 개발자는 문서를 전환하거나 열려 있는 창의 목록을 볼 수 있는 방법을 제공해야 하며, 사용자는 응용프로그램별 메뉴("창 목록" 또는 이와 유사한 항목)를 사용하여 열려 있는 문서를 전환해야 할 수 있습니다.이는 윈도 매니저의 태스크바 또는 태스크 매니저가 현재 열려 있는 창을 표시하는SDI 어플리케이션과는 다릅니다.최근 몇 년 동안 MDI 응용 프로그램에서 현재 열려 있는 창을 표시하기 위해 "탭"을 사용하는 것이 점점 더 보편화되고 있습니다.열려 있는 문서를 관리하기 위해 탭이 사용되는 인터페이스를 "탭 문서 인터페이스"(TDI)라고 합니다.또 다른 옵션은 내용이 더 쉽게 겹치지 않도록 하는 "타일" 창 또는 창입니다.
일부 응용 프로그램에서는 사용자가 개인 취향 또는 당면한 작업에 따라 이러한 모드를 원하는 대로 전환할 수 있습니다.
지금까지의 거의 모든 그래피컬 유저 인터페이스 툴킷은, MDI를 설계하기 위한 적어도 1개의 솔루션을 제공하고 있습니다.주목할 만한 예외는 MacOS High Sierra에 탭이 달린 윈도 그룹이 등장하기 전까지 애플의 코코아 API였다.예를 들어 Java GUI 툴킷인 Swing은 클래스를 제공합니다.javax.swing.JDesktopPane
개개의 프레임(클래스)의 컨테이너로서 기능합니다.javax.swing.JInternalFrame
). GTK는 MDI에 대한 표준화된 지원이 없습니다.
이점
- 여러 개의 문서 인터페이스(및 탭 형식의 문서 인터페이스)를 통해 단일 메뉴바 및/또는 툴바가 모든 하위 창 간에 공유되므로, 혼란을 줄이고 화면 공간을 효율적으로 사용할 수 있습니다.이 인수는 공통 메뉴바를 사용하는 운영체제에서는 그다지 관련이 없습니다.
- 응용 프로그램의 하위 창은 전체적으로 숨김/표시/최소화/최대화할 수 있습니다.
- 하위 창에는 "타일" 및 "캐스케이드"와 같은 기능을 구현할 수 있습니다.
- 크로스 플랫폼 애플리케이션 작성자는 플랫폼 간에 일관된 애플리케이션 동작을 사용자에게 제공할 수 있습니다.
- 윈도 환경 및 OS에 적절한 윈도 관리가 없는 경우 애플리케이션 작성자가 직접 구현할 수 있습니다.
- 모듈러형:Advanced window manager는 애플리케이션과 독립적으로 업그레이드할 수 있습니다.
단점들
- MDI 프레임창이 없으면 한 응용 프로그램에서 툴바를 띄우면 다른 응용 프로그램의 작업공간이 복잡해져 인터페이스가 혼재할 수 있습니다.
- 여러 모니터를 사용하는 데스크톱에서 구현하기 어려울 수 있습니다.부모창이 여러 모니터에 걸쳐 섹션을 숨길 필요가 있기 때문입니다.
- 가상 데스크톱은 MDI의 자녀에 의해 스판될 수 없습니다.그러나 경우에 따라서는 다른 부모 창을 시작하여 해결할 수 있습니다. 예를 들어 Opera 및 Chrome에서는 탭/자녀 창을 부모 창 밖으로 끌어다 놓아 부모 창을 시작할 수 있습니다.다른 경우에는 각 자식 창이 부모 창이기도 하며 새로운 "가상" MDI를 형성합니다 [1].
- MDI는 여러 애플리케이션의 창을 서로 가리지 않고 함께 배열할 수 있는 방법을 제한함으로써 여러 애플리케이션을 동시에 사용하는 것을 더욱 어렵게 만들 수 있습니다.
- 공유 메뉴가 변경되어 일부 사용자에게 혼란을 줄 수 있습니다.
- MDI 자창은 단일 문서 인터페이스 응용 프로그램의 자창과는 다르게 동작하므로 사용자는 두 가지 미묘하게 다른 창 개념을 학습해야 합니다.마찬가지로 MDI 부모창은 많은 점에서 데스크톱과 동일하게 동작하지만 일부 사용자에게 혼란을 줄 정도로 차이가 있습니다.
- 하위 창의 분기 계층이 깊이 중첩되어 있으면 혼란스러울 수 있습니다.
- 대부분의 창 매니저는 개별 창 그룹을 조작하는 기능을 내장하고 있습니다.이는 창을 임의로 그룹화 및 그룹화할 수 있다는 점에서 일반적으로 MDI보다 유연합니다.일반적인 정책은 동일한 응용 프로그램에 속한 창을 자동으로 그룹화하는 것입니다.이것은 거의 틀림없이 같은 문제에 대한 해결책을 제공함으로써 MDI를 장황하게 만듭니다.
- MDI 응용 프로그램에 대해 학습한 제어 및 단축키는 다른 응용 프로그램에는 적용되지 않을 수 있습니다.또한 고급 윈도 매니저에서는 동일한 시스템상의 클라이언트 응용 프로그램 간에 더 많은 동작과 사용자 기본 설정을 공유할 수 있습니다.
응용 프로그램 예시
- Adobe Acrobat: 버전 7.0까지 MDI(Windows 전용), 8.0에서는 SDI 기본값(MDI로 구성 가능), 9.0에서는 SDI만, 2015에서는 MDI(탭 포함 인터페이스 포함)
- Corel Wordperfect: MDI. WP의 여러 버전이 컴퓨터에 설치되어 있는 경우, 사용자는 각각 하나의 문서로 여러 인스턴스를 열 수 있습니다.최신 버전은 창 하단의 상태 표시줄에 있는 특정 창의 열린 문서 목록을 유지 관리하여 TDI의 다른 버전을 제공합니다.
- EmEditor:SDI 또는 MDI 옵션.
- GIMP: 플로팅 윈도우를 갖춘 SDI(MDI는 버전 2.8 [2] 이후 싱글 윈도우 모드라는 옵션으로 사용 가능).
- GIMP샵: 어도비 포토샵에 가까운 것을 목표로 하는 GIMP의 포크.Windows 버전에서는 MDI가 제한되어 있습니다.[ 3 ]
- Chrome : MDI와 TDI의 조합.
- Internet Explorer 6: 일반적인 SDI 응용 프로그램
- KWrite: KDE 소프트웨어 컴파일용으로 설계된 또 다른 텍스트 편집기. SDI는 단순하지만 상호 백엔드를 통해 Kate의 많은 기능을 공유합니다.
- Kate: 고급 기능과 정교한 MDI를 갖춘 KDE 소프트웨어 컴파일용으로 설계된 텍스트 편집기
- Windows용 Macromedia Studio: 하이브리드 인터페이스. 문서 창이 최대화되지 않은 경우 TDI. (기본적으로 최대화됩니다.)
- Microsoft Excel 2003: 어플리케이션의 새 인스턴스를 시작하는 경우 SDI이지만 [파일]- [새로 만들기]메뉴를 클릭하면 MDI가 나타납니다(단, 자창은 OS 태스크바에 옵션으로 표시됩니다).2013년 현재 SDI만.
- Microsoft Word 2003:MDI(Microsoft Office 97까지)2000년 이후 Word에는 Multiple Top-Level Windows Interface가 탑재되어 있기 때문에 셸 개개의 SDI 인스턴스에 노출됩니다.운영체제는 MDI 어플리케이션의 단일 인스턴스로 인식합니다.Word 2000에서는 이것이 유일한 인터페이스였지만 2002년 이후에는 옵션으로 MDI를 제공합니다.Microsoft Foundation Class(Office가 대략적으로 기반으로 함)는 Visual Studio 2002의 새로운 기능으로 버전 7.0부터 이 은유를 지원합니다.2013년 현재 SDI만.
- Firefox: 디폴트로는 TDI, SDI
- 메모장++, PSPad, TextMate 및 기타 많은 텍스트 에디터: TDI
- Opera: MDI와 TDI의 조합(빠른 접근을 위한 탭 바가 있는 진정한 MDI 인터페이스).
- 그림.NET: 섬네일 기반, TDI
- Ultra Edit:MDI와 TDI의 조합(빠른 접근을 위한 탭바가 있는 진정한 MDI 인터페이스).
- VEDIT: MDI와 TDI의 조합(빠른 접근을 위한 탭바가 있는 진정한 MDI 인터페이스).특수 "풀사이즈" 창은 최대화된 창처럼 작동하지만 겹치는 작은 창을 동시에 사용할 수 있습니다.여러 Vedit 인스턴스를 시작할 수 있으므로 SDI 애플리케이션처럼 사용할 수 있습니다.
- Visual Studio.NET: "윈도" 메뉴가 있는 MDI 또는 TDI(둘 다 아님)
- Visual Studio 6 개발 환경: 일반적인 현대 MDI
- mIRC: 디폴트로는 MDI는 SDI 모드에서도 동작 가능
- Adobe Photoshop: Windows에서의 MDI.새로운 버전에서는 툴바가 프레임창 밖으로 이동할 수 있습니다.자창은 최소화 또는 최대화되지 않는 한 프레임 외부에 있을 수 있습니다.
IDE 스타일 인터페이스
IDE(IDE-Style Interface)를 사용하는 그래피컬컴퓨터 어플리케이션은 자창이 단일 부모창 아래에 있는 어플리케이션입니다(일반적으로 모달창은 제외).IDE 스타일 인터페이스는 MDI(Multiple-Document Interface)와 구별될 수 있습니다.이는 IDE 스타일 인터페이스의 모든 자창이 MDI 응용 프로그램에서는 일반적으로 사용할 수 없는 추가 기능으로 확장되기 때문입니다.따라서 IDE 스타일의 애플리케이션은 기능적인 슈퍼셋이자 MDI 애플리케이션의 후예로 간주될 수 있습니다.
향상된 자식 창 기능의 예는 다음과 같습니다.
축소 가능한 하위 창
IDE 스타일 응용 프로그램에서 하위 창에 대한 일반적인 규칙은 비활성 상태 또는 사용자가 지정한 경우 하위 창을 축소하는 기능입니다.축소된 자식 창은 부모 창의 네 가지 외부 경계 중 하나에 따라 다시 확장할 수 있는 레이블 또는 표시기 같은 것이 있습니다.
하위 영역에 대한 탭 문서 인터페이스
일반적으로 상위 창에 단일 탭 인터페이스를 허용하는 (MDI) 응용 프로그램과 달리 IDE 스타일 인터페이스를 사용하는 응용 프로그램은 상위 창의 하나 이상의 하위 창을 구성하는 탭을 허용합니다.
IDE 스타일의 응용 프로그램 예시
- 넷빈즈
- 데이터베이스
- 이클립스
- 비주얼 스튜디오 6
- Visual Studio.그물
- RSS 밴디트
- 제디트
- 매트랩
- Microsoft Excel(MDI 모드일 경우)
매킨토시
MacOS와 그 GUI는 창이나 애플리케이션 중심이 아닌 문서 중심입니다.모든 문서 창은 사용자가 작업할 수 있는 개체입니다.전면 윈도우가 속한 응용 프로그램을 반영하도록 메뉴 모음이 변경됩니다.응용 프로그램 창은 그룹으로 숨기거나 조작할 수 있으며, 사용자는 응용 프로그램(즉, 창 그룹) 또는 개별 창 간에 전환하여 팔레트를 자동으로 숨길 수 있으며, 대부분의 프로그램은 열려 있는 창이 없어도 계속 실행됩니다.실제로 Mac OS X 이전에는 여러 애플리케이션에서 창을 인터리브하는 것이 의도적으로 불가능했습니다.
그럼에도 불구하고 휴먼 인터페이스 가이드라인(특히 Photoshop)을 위반하는 일부 특이한 애플리케이션은 다른 동작을 보입니다.
「 」를 참조해 주세요.
레퍼런스
- Human Computer Interaction. Laxmi Publications. 2005. ISBN 978-81-7008-795-3. Retrieved 2022-07-18.
외부 링크
- MDI에 대한 인터페이스의 수치심 전당 인수
- C# 및 Visual Studio 2010 Express를 사용하는 .net의 C# MDI 폼을 사용하는 MDI 폼