概要
MVCとは、ソフトウェア開発においてよく使われる「設計パターン(アーキテクチャ)」の一つです。
アプリケーションを Model(モデル)・View(ビュー)・Controller(コントローラ) に
分けて役割を明確にすることで、コードの見通しを良くし、保守性や再利用性を高めます。
特にWeb開発やデスクトップアプリ開発で広く利用されています。
正式名称
Model-View-Controller(モデル・ビュー・コントローラ)
略称
MVC(エム・ブイ・シー)
特徴
- 役割分担が明確
データ処理、画面表示、処理の仲介を分離できる。 - 保守性が高い
コードの修正や機能追加がしやすい。 - 再利用性が高い
部分ごとに独立しているため、他のプロジェクトでも使い回しやすい。 - 開発効率が向上
複数人での分担開発がしやすい。 - テストが容易
各層を分けてテストできるため、バグ発見がしやすい。
具体例
例えばWebアプリケーションで「ユーザー一覧ページ」を作る場合
- Model(モデル)
データベースからユーザー情報を取得する処理を担当。 - View(ビュー)
HTMLやCSSで「ユーザー一覧画面」を表示する部分。 - Controller(コントローラ)
ユーザーが「一覧ページを見たい」とリクエストしたときに、
Modelにデータ取得を指示し、その結果をViewに渡して表示させる役割。
関連用語
用語 | 解説 |
---|---|
アーキテクチャ | システムの構造設計を指す用語。 |
MVVM(Model-View-ViewModel) | MVCを発展させた設計パターン。主にフロントエンドで利用される。 |
MVP(Model-View-Presenter) | MVCを応用したパターン。Androidアプリ開発などで使われる。 |
フレームワーク | MVCを採用していることが多い(例:Laravel, Ruby on Rails, Springなど)。 |