アプリケーションは○○を支援する

やっぱり必要っぽいのでメモっておく。(意味分かってないけど、そろそろ理解できそうだな)

マルチ・ドキュメント・インターフェイス(Multiple Document Interface)

  • 親ウィンドウ内に複数の子ウィンドウを表示して管理するGUI
  • SDI方式の複数アプリケーションウィンドウを立ち上げなければならない問題を解決するために開発された。
  • 一般的にMDIは開かれたウィンドウの管理が問題だとされる。
  • SDIアプリケーションであればタスクバーなどで開かれたウィンドウの情報を一覧できるが、通常MDIでウィンドウの一覧を確認するためにユーザーがメニューなどからウィンドウ一覧を選ばなければならない。
  • そのため近年のMDIアプリケーションは、タブ機能やタスクバー機能を装備することでこの問題を解決するようになった。
  • 多くのMDIアプリケーションは親ウインドウとの結合・子ウインドウ分離を一括で管理される。1つをMDI化しようとすれば全てがMDI化され、ひとつを親ウインドウと結合しようとすれば全てが親ウインドウと結合される。

シングル・ドキュメント・インターフェイス(Single Document Interface)

  • アプリケーションのウィンドウを単独表示する方式のGUI
  • SDIウィンドウはそれにとっての親ウィンドウのようなものを持たず、各ウィンドウがそれぞれメニューやツールバーなどを表示する方式である。
  • 複数のファイルを編集する場合、ユーザーはアプリケーションを重複起動して利用する。
  • OSのタスクバーやマネージャなどに個々のエントリとして表示されることが多いが、複数起動している場合はまとめて表示される場合もある。

マルチ・トップレベル・インターフェイス(Multiple Top-level Interface)

  • 一見するとSDIと区別がつかないが、1つのアプリケーションプロセス中で、親ウィンドウを持たない複数のトップレベルウィンドウを表示する形態。
  • SDIでは、1プロセス1ウィンドウの場合が多いが、それとは明確に区別される。