MVCとMVVMとは?えむぶいしー・えむぶいぶいえむ
MVVMは、画面(ビュー)と表示用の状態を保持するビューモデルをデータバインディングで結ぶ構成。ビューにロジックを置かず表示の判断と状態をビューモデルへ寄せるため、画面を起動せずに単体テストできる。MVCは入力を受けるコントローラを介してモデルを更新する構成である。
最終更新:2026-10-06
この語が出る過去問を解く →背景
画面のコードに表示ロジックと状態を混ぜると、テストのたびにGUI操作が必要になり自動化が止まる。UIフレームワークがバインディング機構を備えたことで「ビューは値を映すだけ」という分業が現実的になり、テスト可能な境界を画面のすぐ手前まで引けるようになった。どの層に何を置くかは、保守性をめぐる設計判断そのものになる。
具体例
WPFやAngular、Vue.jsでは、入力欄の値がビューモデルのプロパティと双方向に同期し、入力検証の結果もバインディング経由で自動的に画面へ反映されるため、画面を開かずにビューモデルだけを試験できる。
試験での引っ掛け
依存の向きが問われる。MVVMではビューモデルがビューを知らず、バインディングを介して結ばれるため、ビューモデルが画面部品を直接操作すると書いてあれば誤り。ビューを直接更新するのはMVPのプレゼンタで、こちらとの混同も定番。MVCではコントローラが入力を受け、ビューがモデルを参照して表示する。
関連用語
出た過去問
出典:令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問4(IPA)
ヒューマンインタフェースをもつシステムにおいて、機能とヒューマンインタフェースとの相互依存を弱めることによって、修正性や再利用性を向上させることを目的としたアー…
正解:MVC
要点:MVCは機能と画面を分離し修正性・再利用性を高める
MVCは、業務データと処理を担うModel、画面表示を担うView、利用者の入力を受けて両者を仲介するControllerに役割を分けるアーキテクチャパターンである。機能の中核であるModelを画面から切り離すことで、画面を変更してもModelに影響が及ばず、Modelを別の画面から再利用することも容易になる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。