• ベストアンサー

MVCモデルを学ぶには?

googoo131の回答

  • googoo131
  • ベストアンサー率45% (5/11)
回答No.2

勉強する順番でしたらこのようにした方がいいです。 (1) オブジェクト指向 + Java(クラス)  (UML:ユースケース図・クラス図・シーケンス図) (2) JSP&サーブレット  (この中でMVCモデルが出てきます。) (3) Struts等フレームワーク こんな感じです。 これと合わせてDB関係も学んだ方がいいかと思います。 特にMySQLとOracle(よく使います)はやっておいた方がいいです。

nabewari
質問者

お礼

回答ありがとうございます。 (2)でMVCモデルを学ぶのですね。

関連するQ&A

  • MVCモデルでのサーブレットのやること

    Javaを習い始めた者です。 MVCモデルでのサーブレットのやるべきことが、いまいちつかめないので質問させていただきます。 私が思っているサーブレットのすることは、 (1)送られてきたた情報をgetParameter()する。 (2)JavaBeanを生成したり、getAttribute()する。 (3)getParameter()したものをJavaBeanにsetする。 (4)JavaBean内のメソッドを実行する。 (5)JavaBeanをsetAttribute()する。 (6)別のJSPなどにfoward()する。 です。 (基本的に計算や比較などの処理は、サーブレット上では行わず、JavaBean内のメソッドで行う) この考え方は間違っていますか? あと例えば、ログイン認証のプログラムを作るとき、上の考え方だと、getParameter()したIdとPasswordをJavaBeanにsetして、JavaBean内のメソッドで、setしたIdを元にDBからPasswordをgetしてきます。そしてこのPasswordと、setしたPasswordを比較することになると思います。 でも、私的にはJavaBean内のメソッドで、引数にgetParameter()したIdを与えて、DBからgetしたPasswordを戻り値にします。そしてサーブレット上で、このPasswordとgetParameter()したPasswordを比較しようと思いました。 でもこれだと、サーブレット上でPasswordを比較するという処理を行っているのでMVCモデルに反しているのでしょうか? わかりにくい説明で申し訳ないのですが、教えてください。 お願いします。

    • ベストアンサー
    • Java
  • フレームワークの必要性

    JSP/サーブレット/JavaBeansを利用すればMVCの役割は果たしているような気がします。 Strutsのようなフレームワークが存在するのはなぜでしょうか?

    • ベストアンサー
    • Java
  • SmartyとMVCフレームワークに関して

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

    • ベストアンサー
    • PHP
  • MVCのデメリット

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

    • ベストアンサー
    • Java
  • MVCモデル MV間のデータ共有

    先日ここで質問させて頂いたところMVCというモデルを紹介され、いろいろ調べて試しては見たのですが、わからない部分がありましたので質問させて頂きます。 一般的にはMV間でどのようにしてデータを共有するのでしょうか? 以下のような方法を考えては見たのですが、どれもしっくりこなかったので・・・。 ・Modelの実行結果をViewの引数として使う(スマートじゃない気が?) ・$GLOBALSやglobalを使う(これもスマートではないような?) ・セッションを使う(Cookie使えなかったら・・) ・データベースを使う(そこまでする必要が!?) ・singletonなオブジェクトを使う(いまいち理解できていないのですがこれが一番近いような気がしてます) 本来なんらかの書籍を読むべきなのでしょうが、少し気になったので質問させて頂きました。 根本的に考え方が間違っているようであればお勧めの書籍等教えて頂けると助かります。 よろしくお願いします。

    • ベストアンサー
    • 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を分けているのか教えてください。

  • 【php】MVCの分け方について

    MVCアーキテクチャを勉強しています。 MVCのメリットは何なんだろうと考えた時、 作業分担、コードの可読性の他に、 使いまわしのしやすさがあるとおもいます。 ということは、 MVCで製作されたWEBページって 1対多 になるような分け方が理想的なんでしょうか。 例えば とあるモデルは、 さまざまなコントローラに使われ、 モデルを1箇所修正すれば 全コントローラに反映される とあるコントローラは、 複数のパターンのVに対応していて スマホ用デザイン、PC用デザイン、様々なデザインに振り分ける   (M)   /|\  (C)(C)(C)  |\  (V)(V) こんな感じでいいんでしょうか。

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

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

    • 締切済み
    • PHP
  • strutsの学習

    こんにちは 今javaを学習しているものです 簡単なプログラムからDB接続 JSP、サーブレット、サーブレットでのDB表示などを学習してきました 今はstrutsの学習をはじめています 書籍はstrutsのアプリケーション入門というのを見ながら、 環境設定をし、ネット上でサンプルコードひろってきて 動くまではたどり着きました。 今はどおいう動きをしているのかを、見ようとしているのですが・・・ どうしても動きがよくわかりません。 どこでフレームワークをつかっているのか なぜここで継承したり オーバーライドしているのか・・・ 最初に覚えないことが多すぎて 不安です。 みなさんも最初はそのような感じだったのでしょうか? なにか勉強法などありましたらおしえてください 今はじめて三日ほどたつのですが、どういう風にうごいているか、どういう風に読み込まれているかも わからない状態です まずはなんとなくで 書籍を読んでいったほうがいいのでしょうか? 最初から全部わかろうとしているのがまずいのかなと考えています

    • ベストアンサー
    • Java
  • MVCについて

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