SDI【Single Document Interface】シングルドキュメントインターフェース
概要

ファイルを開くたびにOSのデスクトップ上に新しいウィンドウが生成され、利用者から見ると同じアプリケーションが複数起動しているように見える。しかし、実際に動作しているプログラムは一つだけであり、単一のプログラムが複数のウィンドウを管理している。
各ウィンドウは個別にOSのタスク管理機能の対象となり、最小化、最大化、移動、閉じるなどの操作をそれぞれ独立して行える。OSのタスクバーと直接連動するため、ウィンドウ一覧から目的のファイルを探しやすい。複数のディスプレイを利用する環境では、異なる文書を別々の画面に配置しやすいという利点もある。一方、開くファイルが大量になるとデスクトップ上に多数のウィンドウが乱立しやすい。
メニューバーやツールバー、操作アイコンなどの表示については、各ウィンドウに同じものが複製されて表示される実装と、これらをまとめた専用のウィンドウを別途用意し、ファイルごとのウィンドウとは切り離して表示する実装の両方が存在する。後者の場合、メイン画面とは別に小さなツールウィンドウやフローティングパネルが常に表示され、そこから各ファイルのウィンドウを呼び出す形を取ることもある。
SDIと対比される方式として、アプリケーションソフトが単一の親ウィンドウのみを持ち、その内部に開いたファイルごとの子ウィンドウを入れ子状に配置する「MDI」(Multiple-Document Interface)がある。MDIでは文書の管理が一つの親ウィンドウ内で行われるためデスクトップ上に多数のウィンドウが並ぶことを避けられるが、子ウィンドウの操作は親ウィンドウの枠内に限定される。
また、複数の文書を一つのウィンドウ内でタブによって切り替えながら表示する方式は「TDI」(Tabbed Document Interface)と呼ばれ、Webブラウザや統合開発環境(IDE)など近年の多くのアプリケーションソフトで広く採用されている。近年ではタブ機能を利用できるTDIが主流となりつつあり、SDIとTDIを切り替えて使用できるアプリケーションも多い。