• ベストアンサー

MVCパターンのMにVの情報が必要な場合

MVCパターンを勉強しているのですが Modelの処理にViewの情報(テキストエリアに入力された文字とか)が必要な場合どう渡すのがいいのでしょうか

noname#226281
noname#226281
  • Java
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • sundara
  • ベストアンサー率26% (22/82)
回答No.1

Vからの入力が必要な時点で、それはCに対するリクエストになる。 画面→C→M→C→Vであるべき。 それが嫌だったら、MVCでなくAjaxになる。いずれにせよCに対するリクエストだけど。

関連するQ&A

  • 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を分けているのか教えてください。

  • PHP MVCパターンでのデータの受け渡し

    PHPでのMVCパターン?についての質問です。 http://www.stackasterisk.jp/tech/php/phpMvc01_01.jsp こちらを参考に作っているのですが、パート間でのデータの受け渡し方がわかりません。 Modelで取得したデータや処理したデータを、1つのオブジェクト管理し受け渡しています。そのオブジェクトの中に、オブジェクト(VO群?)、またその中にオブジェクトを入れたりしていくと、Viewへ渡す時に、どうやって値を取り出せばいいのかわかりません。オブジェクトの入れ子が少なければ、1つ1つゲッターで取り出していくのも手間ではありませんが、入れ子が多いと…。foreachではpublic以外は取得できないようなので困っています。 このような場合は、どのようにすべきなのでしょうか。 また、このような方法は、普通使われる方法なのでしょうか。 よろしくお願いします。

    • 締切済み
    • PHP
  • 【プログラム設計】MVCモデルのVについて

    MVCモデルのVで送られるデータは、生のデータを加工、例えば "2000" → "2,000円"  "NULL" → "終了しました" "1" → "NEW!" 等 ある程度モデル等で置換、加工をした上でデータを送った方いいでしょうか? それとも生データで送ってV上で置換、加工したほうがいいでしょうか? 加工データで送るメリット  Vが複数ある場合(モバイル版、PC版等)加工が1回ですむ、変更が一度にできる 生データで送るメリット  "NULL" → "<img src='/unknown.gif'>"等 汎用性がきく もしくは加工済み 生、両方Vに送るのであれば、 やはりC(コントローラ)かM(モデル)で処理はすましておいたほうがいいですよね。

    • 締切済み
    • PHP
  • ログインが必要 Asp.net MVC2

    Asp.net MVC 2の勉強をしています。 一番最初のASP.NET MVC2 Web アプリケーションのプロジェクトを作りました。 デバッグは全然問題ないですが、発行後画面を開こうとすると、下記のエラーが出ました。  HTTP403  Web サイトによってこのページの表示を拒否されました   •この Web サイトを表示するにはログインが必要です。 IISのバージョンは5.1 解決方法お願いします。

  • asp.net mvcを利用する場合の複数テーブルの扱い方

    お世話になります。 asp.netオフィシャルサイト上のデモを見て、asp.net mvcを使って、アプリを作りたいんですが、DBにテーブルが複数ある場合、複数のテーブルからデータを抽出し、viewに表示する方法が分からなくて困ってます。 ご存知の方いらっしゃらましたら教えてください。 よろしくお願いします。

  • レイアウト行や選択関連はModelに置くべきか

    開発当初はModelはドキュメントの操作を行い、Viewにレイアウト行や選択領域の処理とレタリング、Contorollerで選択領域の置き換えなどの処理を行っていました。 その後、しばらくたって「やはりお前らのMVCは間違っている」を読んだところ、Modelはメインの処理を担当すると書いてありました。 これに衝撃を受け回収しようと思うのですが、Viewはレタリングだけを行い、Modelに選択領域やレイアウト行を表すコレクションを置いて、選択領域の文字列を置き換える処理を置くことになるので、Modelの部分が肥大化しそうです。 開発当初の分け方だと、ファイルを読み込みながらレタリングを行うことが難しいので、新しいわけかたは便利そうではありますが、どうすればいいのか悩んでいます。 意見を聞かせてほしいです。

  • JavaScriptまったくの初心者です。

    JavaScriptまったくの初心者です。 文法も何も分からない状態です。。。 ホームページの ・テキストエリア1 ・テキストエリア2 ・テキストエリア3 があったとして、そこに入力された文字列をホームページ上に表示させることってできますか? 表示方法としては 「僕は「テキストエリア1に入力された文字列」「テキストエリア2に入力された文字列」です。」 という感じです。 テキストエリアに入力が無い場合は 「僕はです。」 といった感じで表示したいのです。。。 しかも、テキストエリアに入力があった場合、テキストエリアの文字の頭に「!」を付けたいです。 (例)テキストエリア1に「テスト」テキストエリア3に「サンプル」と入力があった場合   僕は!テスト!サンプルです。 JavaScriptでできるのかどうか、できる場合の記述を教えてください。 完全にまる投げとなってしまい本当に申し訳ございませんが、とても困っています。。。 宜しくお願い致します。

  • テキストエリアでの処理に関して

    あるテキストエリアの中で、OnDbclickイベントでダブルクリック した場合にサブウィンドウを開き、サブウィンドウの中であるDBから 情報を取得し、親ウィンドウの隣のテキストエリアに値を表示するような事をしていますが、ダブルクリック以外でもそのテキストエリアに入力があったらDBを検索するような仕組みを考えています。 基本的には文字数制限をし、6文字入力された時点でDBへ検索しに 行くような形にしたいと考えています。 そもそも同じテキストエリアでダブルクリックはサブウィンドウ、 入力後は他の処理というような事が可能なのでしょうか。。。 どういった記述をすれば良いか教えて下さい。 よろしくお願いします。

  • MVCについて

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

  • Javascriptでの表示切り替えについて。

    ただいま一人で勉強中の初心者です ラジオボタンの選択項目を変えたら、ひとつのテキストエリアの入力制限が変わるという処理を作りたいのですが、どのように作ればいいのでしょうか ラジオボタンがA,Bとあるとして、 Aを選択すると半角英数字しか入力できないテキストエリアになる。 Bを選択すると何でも入力できるテキストエリアになる。 ただし、表示されるテキストエリアはひとつのみ。 というものを作りたいです。 行き詰っています。助けてください

専門家に質問してみよう