GUIアプリケーションを、メインウィンドウの形態で分類してみる。
命名は便宜的に勝手に行った。
- シングルSDI
- 1プロセス:1ウィンドウのシンプルな形。
- マルチSDIのサブセットと考えることができる。
- 代表例:メモ帳
- マルチSDI
- 1プロセス:nウィンドウ。1つのプロセス内でトップレベルウィンドウがいくつも開く形。
- 多くのアプリに適する形態。
- 代表例:エクスプローラ
- クラシックMDI
- 濃いグレーの背景色を持つMDI親ウィンドウの中に、複数のMDI子ウィンドウが開く形。
- アドイン対応アプリのように、扱うデータ形式が可変の場合に適する形態か。
- あまり推奨されていないし、WPFでは作ることができない。個人的には好み。
- 代表例:MMC(Microsoft管理コンソール)
- タブ型MDI
- 複数のドキュメントをタブで管理する形。
- 複数のファイルを1つの単位にまとめ、同時に扱う必要がある場合に適する形態か。
- 代表例:VisualStudio
- ウィンドウ再利用型SDI
- ウィンドウは1つしかないのだが、タスクバー上には複数表示され、ウィンドウ内に表示するドキュメントが動的に切り替わる形。
- タスクバーには子ウィンドウが表示されるが、常に最大化状態のクラシックMDIのような感じ。
- 作るのも使うのも面倒くさそうだが…
- 代表例:Excel 2007