【プログラミング】MVCモデルとは?
MVCモデルとは?

はじめに
プログラミング初心者の方にも理解してもらうために、MVCモデルを理解するうえで必要なワードがあります。
- フレームワーク
- クラスライブラリ
フレームワーク
フレームワークとは、システム開発で開発者が同じ仕組みや規則で開発するためのツールという感じです。
「フレーム」という単語の意味が「枠組み」や「骨組み」と言った感じなので、システム開発の枠組みや骨組みになるツールというと理解しやすいかもしれません。
例えば、20人のチームでシステム開発をした時に、フレームワークを使わないと、極端に言えば20人が20通りのソースコードの書き方で開発してしまうので、別の人が作成したソースコードを引き継いだ時など分かり難い場合が多く、ソース管理が難しく複雑になってしまいます。
しかし、フレームワークは同じ仕組みを利用するので、20人が同じ仕組みや規則で開発をするので、別の人が書いたソースコードでも同じ仕組みと規則で作成されているので、ソースの修正や管理が簡単にしやすくなります。
フレームワークを使うと、もの凄く作業効率が上がるわけです。
クラスライブラリ
クラスライブラリとは、よく利用するメソッドなどをあらかじめクラス化しライブラリ化したものです。
クラスライブラリは、略してライブラリと言われることが多いです。
ライブラリという単語の意味としては、本棚や図書館などの意味があり、本で例えるならクラス名が本のタイトルで、メソッド名が本の目次という感じでしょうか。
実際にクラスを利用する時には、クラス名から使えるか機能が判断できるので、クラス内にどんなメソッドがあるかなども想定できます。
MVCモデル
MVCモデルのMVCは、
- Model
- View
- Controller
の頭文字を取ってMVCとなっています。
この「M」「V」「C」がそれぞれ役割を持ち、このMVCが持つ役割の規則に沿ってシステム開発をすることで、分かりやすい仕組みとなっています。
MVCの役割
MVCの役割について簡単に説明をすると、
MVC | 役割 |
---|---|
Model | データ処理 |
View | 画面表示処理 |
Controller | MとVのバイパス処理 |
という感じです。
データ処理について具体的に言うと、
- データベースからデータを取得する
- 画面に表示する前のデータの加工や演算処理
などを行います。
画面表示処理については、そのままの意味で、データ処理されたデータを表示したり、レコードデータ(行データ)をループ処理して表示させるなど。
バイパス処理については、Controllerファイルは橋渡しなどと表現されていて、このファイルを見ればModelファイルとViewファイルの関連性を分かりやすくするためのファイルという感じで、ソース管理をするうえで便利な部分です。
MVCモデルの種類
MVCモデルが使用されている言語
MVCモデルが使用されている言語は、主にWeb系の言語です。
- Java
- PHP
- JavaScript
- Python
フレームワークとしては、
フレームワーク | 言語 |
---|---|
Spring | Java |
Spring Boot | Java |
Laravel | PHP |
CakePHP | PHP |
Vewjs | JavaScript |
React | JavaScript |
Django | Python |
Flask | Python |
などなど他にもたくさんあるのですが、現在人気で有名なのがとりあえずこの感じでしょうか。