• ベストアンサー

MVCのデメリット

昨今、MVCに沿ったフレームワークが使われていると思います。ですが、MVCのデメリットって無いのでしょうか???こういうシステム開発では、MVCを使わない方がいいぞ! というのを、ご存知の方、ご意見宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kazsharp
  • ベストアンサー率37% (16/43)
回答No.1

「こういうシステム開発ではMVCを使わない」とかの直接の回答にはなりませんが、MVCはあくまで「パターン」であって、デザインパターンなどと同じでメリットもデメリットもあると思います。 個人的にMVCの最も大きなデメリットだと思うのは「オブジェクト指向から遠ざかる実装を促す」という点です。オブジェクト指向は本来、データと振る舞いを一つにすることで、これをカプセル化といいます。 MVCを勘違いして適用するとデータと振る舞いをそれぞれ「M」と「C」に実装してしまい、単なる手続き型のプログラムができあがってしまいます。 もちろん、本来は「M」にデータも手続きも実装するべきですが、オブジェクト指向に不慣れな人が変にMVCを意識すると「データ」と「振る舞い」を必死に分離させようとします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • MVCについて

    開発初心者です。 MVCモデリングについて勉強しています。 Model、View、Controllerの各コンポーネント間の依存性を少なくすることができるとあるのですが、 なぜ、コンポーネント間において依存性が無いほうがいいのか、調べたところでは例が無かったので、いまいちピンと来ません。 コンポーネント間の依存性がある場合のデメリット、どういった影響があるのかを、よろしければご教授願えないでしょうか。 よろしくお願いいたします。

  • MVCモデルを学ぶには?

    サーブレットを勉強しています。 ・コードの設計を勉強したいと思い、MVCモデルを学びたいと考えているのですが、お勧めの書籍などありましたら、教えていただけますか? ・いろいろ調べている過程で、Strutsフレームワークというものがあると知ったのですが、MVCモデルや設計を学ぶには、まずこういったフレームワークを勉強した方がいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • フレームワーク、特にMVCがよくわかりません。

    転職先で、とりあえずソース見ておいてと言われたのですが、 どうもZend Frameworkを使っているようで、今まで経験ないこともあり見てもよく理解できません。 フレームワークについては検索すれば解説してるページなどが出てきて、 便利なんだなぁと抽象的には分かるのですが、ソースを見ると?って感じになってしまいます。 今まで、1画面=1ファイル、関数ライブラリ、クラスファイルという形でやってきていたので、ソースを見てもピンとこないのです。 ちなみに、オブジェクト指向についてはわかります。 ただ、フレームワーク特有のMVCの理解がうまくできません。 それから、フレームワークを使っている場合、実行環境だけでなく、 開発環境でもそれ用のツールが必要だったりしないのでしょうか? テキストエディタで書いてるよって言われたので更に?って感じになってます。 良い解説サイトがあったら教えて下さい。

    • ベストアンサー
    • PHP
  • フレームワーク☆MVC

    今回、PHP言語で独自のフレームワークを作成します。MVCの コントローラの部分の作成に着手するのですが、 action_cahin,redirect,renderを作成するということは わかったのですが、イメージがつかめずソースがうかびません。 どなたか参考に出来るサイトや書籍をご存知な方いらっしゃいませんか? 宜しくお願いします。

    • 締切済み
    • PHP
  • MVCフレームワークでMとCを分けるメリットは?

    プログラミング初心者で御座います。 現在、MVCフレームワークを使って開発をしようと考えており、 PerlのCatalystというフレームワークをちょこっと勉強しました。 そこで1点わからないことが出てきたのですが MVCフレームワークでM(Model)とC(Controller)を分けるメリットは 何でしょうか? 拙い知識では、処理の流れとして (1)C(Controller)がM(Model)を利用してデータをやり取りし、 (2)最後にV(View)に投げる というものになると思います。 V(View)は(1)が完全に終わってから「後はヨロシク」という感じで 丸投げできるので、分ける意味は分かります。 ところが、C(Controller)とM(Model)は行ったり来たりの やり取りをする必要があるので 複数のファイルに分けると逆に非効率になると思います。 なぜ敢えてCとMを分けているのか教えてください。

  • SmartyとMVCフレームワークに関して

    殆どMVCフレームワークを使用したことがなく 今更ながら覚えようかと思っています。 MVCフレームワークはCakePHPかCodeIgniterどちらか悩んでおり モデル設計が殆ど必要ない分CodeIgniterがいい気がしていますが 実際のところどちらのフレームワークとSmartyを使用するのがいいのでしょうか? 今回は小規模~中規模のサイトの予定なので簡単に導入取得ができるものが希望です。 CodeIgniter+Smartyの場合、導入方法のサイトが古いものばかり(新しい記事もあるが違う方法)で 最近の最も使われている手法が分かりません・・・ 経験者の方などのご教示お願いします。 CodeIgniterのライセンスが変わったとかで日本サイトの更新が停止しているようなので将来性のことも含めてご回答お願いします>< *導入方法などもご教示いただけましたらお手数とは思いますがよろしくお願いいたします><

    • ベストアンサー
    • PHP
  • visual basic 2005 では MVC は有効ではないのでしょうか?

    ご存知の方教えて頂けないでしょうか? 現在複数人数、visual basic 2005 でアプリケーションを作成しようとしています。 かなり規模的に大きいと思いますが、今の設計段階でMVCを知らない方が、仕切っている為、その様に設計されていません。 visual basic 2005 にはMVCは有効ではないのでしょうか? それとも不可能なのでしょうか? よろしくお願いします。

  • 【ASP.NET MVC】モデルの作り方

    ASP.NET MVCでのモデルについて、皆様はどのように作成しておられますか? ASP.NET MVCで何本かWebシステムを構築して、いまだに試行錯誤です。 サンプル例を見ても、実際とはかけ離れた簡単な内容で、あまり参考になりません。 自分が見たいくつかのサイトではこのように書いてありました。 ドメインモデル データベースと1:1で存在する入出力用のモデル。EntityFrameworkで定義する。 拡張ドメインモデル ドメインモデルにプロパティを追加したり、複数のモデルを使いやすくまとめたモデル。 ビューモデル 画面表示するためのモデル。 フォームモデル フォーム入力値を受信するためのモデル。 理屈はわかるのですが、このように4種類もモデルを定義するものなのでしょうか? モデル間のデータのやりとりも大変ですし、定義だけで作業量が半端ない感じです。 継承などをうまく使って省力化する方法とかありますか? 皆さまの方法論をお聞きしたくお願い申し上げます。 ASP.NET MVCに限らず、CakePHPなどの例でも歓迎です。

  • MVC-CD300の動画について

    初歩的な質問で申し訳ありません。 SONY製のマビカ(MVC-CD300)は動画の撮影が可能という話を聞いたのですが、156MBの8cmCDを使用したときの撮影可能時間は何分ぐらいなのかご存知ありませんか? よろしくお願い致します。

  • MVC-001F.411というファイルは何でしょうか?

    お尋ねします。子供会でどなたが作ったファイルか分からないのですが、先日、フロッピーにワードの文書ファイルと、MVC-001F.411~MVC-010F.411というファイルが10個一緒に入っていました。ファイルの種類は、411ファイルとエキスプローラーに記されており、ファイル一覧のファイルの前にワードの文書を示す、Wがうっすらと記されておりました。ファイルをクリックしますと、文字化けしているようで内容を確認する事は出来ませんでした。ウイルスに感染しているファイルなのでしょうか?もし、そうでしたら、私のパソコンも感染した疑いがあるのでしょうか。まずは、MVC-001F.411というファイルが何なのかを知りたいのです。ご存知の方教えてください。よろしくお願いします。