본문 바로가기

따라해보자/엑스플랫폼

MDI에 대해

반응형
번역된 용어로 다중문서인터페이스라고 하며 Multiple Document Interface 의 약자입니다.
말 그대로 동시에 여러 개의 문서로 작업을 할 수 있는 어플리케이션을 제공해주는 인터페이스라고 할 수 있습니다.
각 문서(또는 어플리케이션)은 별개의 공간을 가지며 각각 작업이 가능합니다.
일반적으로 접하는 PC의 바탕화면과 동일한 인터페이스로 생각할 수 있지만 MDI라는 것은 특정 어플리케이션이나 클라이언트라는 제한된 공간이라는 차이가 있습니다.

요즘은 대부분 브라우저에서 사용하고 있는 탭 브라우저도 MDI라고 할 수 있습니다. 예전처럼 새로운 페이지를 열고 다른 것을 보기 위해서는 다음 페이지로 가거나 새로운 브라우저를 띄울 필요 없이 탭을 사용해서 사용자가 좀 더 빠르고 편하게 정보에 접근할 수 있게 하는 겁니다(탭을 이용하는 형식은 Tabbed Document Interface 라고 따로 정의하기도 하네요).

엑스플랫폼에서는 Default 로 프로젝트를 생성하면 SDI가 됩니다.
하지만 MainFrame 내에 ChildFrame이 하나만 있는 것이 아니고
FrameSet을 가지는 경우는 MDI로 정의할 수 있습니다.

겉으로 보기에는 그냥 윈도우를 여러개 올리는것처럼 보이지만 내부적으로
자원이나 메모리 관리에서부터 다양한 요소에 대한 부분을 챙겨야 합니다.

MDI가 동작하는 방식을 직접 보고자 하신다면 프로젝트를 만들어보거나 
엑스플랫폼 쇼케이스를 체험해보는 것을 권해드립니다.
* 쇼케이스는 베스트 프랙티스는 아니고 말 그대로 쇼케이스입니다.

 
쇼케이스의 경우에는 TDI와 MDI가 복합된 특이한 사례입니다.
하단의 탭은 각 화면단의 선택을 컨트롤하고 우측 하단의 콘트롤에서는 화면의 배치와 이동, 삭제 등의 
명령을 컨트롤 합니다.

업무 시스템에 MDI를 반영하는 것은 업무의 패턴이나 특성, 동선을 고려해서
설계할 필요가 있습니다.
많은 기능을 원한다는 것은 그만큼 다른 것을 잃을 수 있다는 것을 의미합니다.
앞에서 이야기한것처럼 MDI 기능은 단순하게 인터페이스 흉내를 내는것보다
전체적인 시스템을 어떻게 제어하고 관리할 수 있는지를 고려해봐야 합니다.
MDI 구현 가능이라고는 누구나 이야기할 수 있지만
안정적인 시스템 구현이 가능한 MDI 라는 것은 쉽게 쓸 수 없다는 것이지요.

출처
http://cafe.naver.com/xplatform101/23 
728x90