DOBON.NET DOBON.NETプログラミング掲示板過去ログ

MVCのメリット、デメリット

分類:[その他]

MVCのメリットについては検索すれば沢山でてきますが
デメリットについてはなかなか見つかりません

だからといってMVCはいいことばかりだとは信じられないのですが・・・

本当にデメリットは存在しないのでしょうか?

例えば一人が一つのプロジェクトを担当するような小規模な開発環境においても
MVCで開発を行うメリットがあるのでしょうか?

他の開発環境はよくしらないのですが
ASP.Netで開発する場合はMとCを分ける理由がよくわからないのです
2012/02/19(Sun) 20:04:56 編集(投稿者)

■No29883に返信(まるさんの記事)
MVCのデメリットについて考えてみました。無理矢理なところもあります。
・オブジェクトをわける必要があるのでコードを記述するのに時間がかかる。
・Viewに関係するものだけれどもいくらか処理が必要だ、さてModelにするべきかどうかそれが問題だのように、どれに分類するべきかわからないものがでてくる。
・オブジェクトがわかれているので処理の詳細を見たいときに別の場所を参照しなければならずコードを見るのに時間がかかる。
・オブジェクトを複数作成する必要があるので処理に時間がかかる。
・オブジェクト間のやりとりに制約がかかるのでコードを柔軟に記述できなくなる。

MVCのデメリットについてあげてはみましたが、小規模な開発でもMVCで開発を行うメリットはあると思います。MVCはASP.NET MVCのフレームワークを使うということではなくて、役割を分担するという広い意味でのMVCのことです。漠然とした考えで恐縮ですが、MVCを意識していなくても同じ処理をまとめたりコードを整理する過程であるていどMVCに近いものになると思います。コードが整理されているとあとからコードを変更したりコードを追加したりするときに楽ですから、開発したプログラムがあるていどの期間使用されることが見込まれるものであれば、MVCのほうが好ましいと思います。

MとCをわける理由は動作を確認しやすいということがあります。Mの動作を確認したいのにCを呼ばなければいけないなんてと思うときがきっとくるとわたしは信じていますといってもなにも説得力がないですね。データベースにアクセスするコードをページのイベントハンドラに直接記述することを考えると、データーベースにアクセスする動作を確認するためにページを表示してイベントを発生させる必要があります。データベースにアクセスするコードをページと関係ないクラスに記述しておけば、ページを表示することなくデータベースにアクセスする動作を確認することができます。
MVCのデメリットに大したものはありません。めんどくさいとか、ちょっと時間がかかるとかですね。逆に、MVCを使わない事のデメリットの方が余程大きいのです。

 仕事で作成しているのなら「コードも提出物」と認識して下さい。
つまり「誰が見ても判りやすく書く」のが当たり前で、MVCはその為の手法なので使わない明確な理由が無いのなら、使うのが当たり前と私は考えます。
規模の大小、開発言語などに左右されません。

 まあ、MVC自体を知らないなんちゃってプログラマや、提出されたコードをチェックしない似非SEベンダーもいますが・・・真似しちゃいけません(-_-;

DOBON.NET | プログラミング道 | プログラミング掲示板