MVC


MVCというものを耳にしたので調べてみた。

MVCとは

GUIを伴うソフトウェアの設計モデル
アルファベットはそれぞれ以下を表している。
・M Model
・V View
・C Controller

この3つに従って、作るプログラムを分けなさいという意味。

Model

ビジネスロジックを実行する

View

ユーザからの入力、結果の出力、Moedelの表示

Controller

Viewから入力情報を受け取り、Modelを起動
司令塔、橋渡し役

MVCの例

例えばAndroidであれば以下のように分けられる。
・M データベース操作など内部処理を行うクラス
・V レイアウトXMLファイル
・C Activity・Service・Handler

問題点

AndroidではよくControllerが肥大するという問題が発生する。ViewとControllerの差がつかなかったり、Controllerの定義が広いなどが理由である。

感想

フレームワークとしてはとても分かりやすいが、問題点をいかに克服するかが重要そうだ。

参考URL

・「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
https://wa3.i-3-i.info/word11584.html

・MVC、本当にわかってますか?
https://qiita.com/tshinsay/items/5b1724baf32b8b5113c2

・MVC とは何かを 1 から学ぶ
https://qiita.com/tentom/items/de95f63bc9e2da2bd0bf

・Android開発におけるMVC
https://blog.nkzn.info/entry/20100117/1263752972