知識マップ: WindowsのMFCとは何か ── 既存資産を保守するための基礎知識
記事「WindowsのMFCとは何か ── 既存資産を保守するための基礎知識」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
MFCはWin32 APIをC++のクラスとして扱いやすくするフレームワークで、CWinAppがアプリ全体の初期化を担い、メッセージマップがWindowsメッセージをハンドラー関数に結びつけ、Document/ViewアーキテクチャがデータとUIの表示を分離し、DDX/DDVがダイアログのコントロールとメンバー変数を対応づけて検証します。MFCを使うにはVisual Studio InstallerでMFCコンポーネントを個別にインストールする必要があり、共有DLLか静的リンクかも構成できます。記事は、完全新規の一般的なGUIアプリケーションではMFCの採用を慎重に判断すべきである一方、既存MFCアプリの保守・機能追加・段階的移行では現実的によく価値があるという位置づけを示しています。
flowchart LR
accTitle: MFCによるWindowsデスクトップアプリ保守の知識マップ
accDescr: MFCがWin32 APIをC++でラップしメッセージマップやDocument/Viewなどの仕組みを実装すること、既存資産の保守には向くが新規GUI開発には慎重であるべきという位置づけ、ビルド環境やCOM連携で注意すべき点の関係を示す図。
mfc["MFC(Microsoft Foundation Classes)"]
win32_api["Win32 API"]
cwinapp["CWinApp"]
message_map["メッセージマップ"]
document_view_architecture["Document/Viewアーキテクチャ"]
mfc_ddx_ddv["DDX/DDV"]
resource_script["リソースファイル(.rc/resource.h)"]
cstring_class["CString"]
vs_mfc_component["Visual Studio InstallerのMFCコンポーネント"]
mfc_shared_dll_linking["MFCのリンク方式(Use of MFC)"]
mfc_module_state["MFCモジュール状態"]
activex["ActiveX"]
bitness_match_requirement["bitness一致要件"]
high_dpi_support["高DPI対応"]
new_gui_application_development["完全新規の一般的なGUIアプリ開発"]
legacy_app_maintenance_and_migration["既存MFCアプリの保守・段階的移行"]
mfc -->|"利用する"| win32_api
mfc -->|"利用する"| cwinapp
cwinapp -->|"自動化する"| win32_api
mfc -->|"実装を担う"| message_map
message_map -->|"前提とする"| win32_api
mfc -->|"実装を担う"| document_view_architecture
document_view_architecture -->|"前提とする"| cwinapp
message_map -.->|"利用する"| document_view_architecture
mfc -->|"実装を担う"| mfc_ddx_ddv
mfc_ddx_ddv -->|"前提とする"| resource_script
mfc -->|"利用する"| cstring_class
mfc -->|"前提とする"| vs_mfc_component
mfc -->|"で構成できる"| mfc_shared_dll_linking
mfc -.->|"前提とする"| mfc_module_state
mfc -.->|"利用する"| activex
mfc -.->|"前提とする"| bitness_match_requirement
mfc -.->|"前提とする"| high_dpi_support
mfc -->|"用いるのは非推奨"| new_gui_application_development
mfc -->|"推奨される対応"| legacy_app_maintenance_and_migration
mfc_module_state -.->|"前提とする"| resource_script
概念間の関係(全20件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- MFC(Microsoft Foundation Classes)はWin32 APIを利用します。
- MFC(Microsoft Foundation Classes)はCWinAppを利用します。
- CWinAppはWin32 APIを自動化します。
- MFC(Microsoft Foundation Classes)はメッセージマップの実装を担います。
- メッセージマップはWin32 APIを前提とします。
- MFC(Microsoft Foundation Classes)はDocument/Viewアーキテクチャの実装を担います。
- Document/ViewアーキテクチャはCWinAppを前提とします。
- メッセージマップはDocument/Viewアーキテクチャを利用します。
- MFC(Microsoft Foundation Classes)はDDX/DDVの実装を担います。
- DDX/DDVはリソースファイル(.rc/resource.h)を前提とします。
- MFC(Microsoft Foundation Classes)はCStringを利用します。
- MFC(Microsoft Foundation Classes)はVisual Studio InstallerのMFCコンポーネントを前提とします。
- MFC(Microsoft Foundation Classes)はMFCのリンク方式(Use of MFC)で構成できます。
- MFC(Microsoft Foundation Classes)はMFCモジュール状態を前提とします。
- MFC(Microsoft Foundation Classes)はActiveXを利用します。
- MFC(Microsoft Foundation Classes)はbitness一致要件を前提とします。
- MFC(Microsoft Foundation Classes)は高DPI対応を前提とします。
- MFC(Microsoft Foundation Classes)を完全新規の一般的なGUIアプリ開発に用いることは推奨されません。
- MFC(Microsoft Foundation Classes)は既存MFCアプリの保守・段階的移行に対する本記事の推奨です。
- MFCモジュール状態はリソースファイル(.rc/resource.h)を前提とします。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。