Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

MVCの利点

MVCのメリットとは何か?と考え試行錯誤し駄作を量産した結果たどり着いた結論についての記事です。

MVCのメリットとは何か?と考え試行錯誤し駄作を量産した結果たどり着いた結論についての記事です。

最大のメリット

MVCの最大のメリットは、MVCをきちんと出来ていると仮にアプリを1から作り直す羽目になってもある程度対応でき、かなり変化に強いことです。

MVCでは表示部分とデータ部分を分けます。だから例えばUIを全て変えることになってもモデルは仕様が変わらない限り変わりません。仕様もモデルはデータ管理するだけなので早々変わりません。コントローラも大幅に変える必要はありません(場合にもよりますが)。

つまり、MVCのうち1つを変えることになったら他はほぼ変えずに済みます。MVCを使わない場合は下手すると全て書き直しなんてことになりかねません。

注意点

ここで注意して欲しいのはMVCを完璧に使いこなせた場合に上記のメリットを享受できるということです。モデルとビューが混ざってたりコントローラを正しく組めていないとビューの変更がモデルにまで直結し、全体の書き直しに繋がってしまいます。MVCを使うときはきちんと「これはモデル、これはビュー」と分ける意識を持つことが大切です。

オススメのMVCフレームワーク

私のオススメのMVCフレームワークはAngularです。Dirty Checkなどかなりコスト高い処理をライブラリ内部でしてるので、大規模でパフォーマンス求められるようなアプリケーションには向きません。しかし、ビューはHTMLに投げ、コントローラとモデルはJavaScriptで管理でき、かなりMVCが分かりやすく使いやすいので小規模アプリケーションの開発時には便利です。

学習コストが中々高いので開発に投入するのには抵抗があるかもしれませんが、時間があるときなんかに遊んでみると面白いと思います。