今までの開発環境と言えば、VisualBasic か MFC でしょうか・・・?
どちらもそれなりには使える環境だと思いますが、やっぱり中途半端な気はします。
さて、その中途半端なMFCで、Doc/Viewアーキテクチャを利用しつつ、後から自由にDoc/Viewを追加できるようなアプリケーションを構築してゆきたいと思います。
MFC アプリケーションをくむときというのは、基本的には Document/View 構造で作成します(ダイアログベースのものをのぞきます)。
ところが、Document/View クラスを全てEXEに埋め込むとそれだけで実行ファイルのサイズも大きなものになってしまいます。
Document, View クラスだけで完結することなどなく、たいていは アプリケーションのデータを表すクラスや、画面描画の補助クラス、ダイアログクラスなどの Document/View クラスと関わるクラスがいろいろと出てきます。
当然クラスの数は増え、Document/View のペアが2,3、4と増えればかなり訳のわからない代物ができあがるに違いありません。
しかし、このとき、実行ファイル内部では CMyApp と、CMainFrame クラスのみ実体化し、Doc/Viewクラスは外部DLLに埋め込むような形で設計を行っていれば、少なくともこのクラスはどの Document クラスで使われてるの??といった疑問は消えてゆきます。
さらに、どうせ実装するなら Doc / View クラスの DLL を動的ロードできるようにしてEXEファイルには DOC / VIEW を管理するためのホスト的な機能のみ持たせ、そのほかの機能はすべてプラグイン形式で提供できるようなインターフェースをEXEファイルに持たせることができたとしたら・・・
そんな都合のいい話はあるのでしょうか・・・?