• ベストアンサー

MVCを扱えるようになる為の書籍

この度チームでMVCで作業することになったのですが、 オブジェクト思考でプログラムを組んだことがありません。 何か理解するのに最適な書籍などありませんか。 よろしくお願いします。

  • PHP
  • 回答数4
  • ありがとう数2

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

  • ベストアンサー
  • rakujin
  • ベストアンサー率38% (34/89)
回答No.3

PHPである程度のものをコーディングできるのでしたら、お勧めの参考書があります。 http://phpspot.net/book/phpsample/ これは、私の目標でもある、脱日曜プログラマーにとってとても参考になるものと思います。すなわちいろんなモジュールを使いこなしたり、MVCの基本を学ぶことができます。今流行のフレームワークを使う前に、フレームワークがどのように作られているのかが、よく理解できる一冊です。また、著者が公開しているサイトには、フリーのPHPエディターがあります。私は数年前からこのエディターを利用させてもらい、重宝しております。今も、机の横に辞書がわりに置いて時々確認しております。(入門書は沢山みかけますが、このような一歩踏み込んだ領域の良書は少ないですね。) がんばってください。

参考URL:
http://phpspot.net/php/

その他の回答 (3)

回答No.4

MVCは、いわゆるデザインパターンの一つです。 これについて、最も詳しく解説している書籍は F.Buschmann 他、"Pattern-Oriented Software Architecture" (1996 John Wiley & Sons)(邦訳あり) です。大著なので、全部読んで理解するのは困難ですが、MVCの部分だけ読んでも理解は可能です。とにかく詳細に解説されているので、MVCだけを知る分には、分かり易いと思います。(言語はC++) デザインパターンの必読書籍とされているものは、 E.Gamma 他、"Design Pattern"(1995、Addson-Wesley)(邦訳あり) なのですが、内容は難解です。重要な概念がさらっと書かれていて、後はコード例を示して終わりという感じです。この本だけでデザインパターンと、その考え方を理解するのは、ほとんど不可能なんじゃないかと思います。著者達自身、最初は全部理解出来なかったと書いています。(言語はC++) デザインパターン全体について、最も分かり易く読みやすく書かれているのは、 A.Shalloway & J.R.Trott、"Design Patterns Explained (2nd Ed)"(2005、Pearson)(第一版が邦訳あり) です。この本は、オブジェクト指向で開発した悪い事例と、どうやってそれを改善したかについて書かれており、オブジェクト指向の真髄を見る事が出来ます。(言語はJava) オブジェクト指向で開発するためには、オブジェクト指向そのものを理解する必要があるのですが、多くの入門書が不適切な解説をしているので、間違った理解をし、悪い開発をしてしまいがちです。なので、Shalloway&Trottを「理解」する処から始める事をお薦めします。(オブジェクト指向とJavaの基本的な予備知識は必要です。) PHPは、2009年のPHP5.3で、やっと名前空間が導入されて、本格的なオブジェクト指向体制が整ったばかりなので、PHPでオブジェクト指向開発を解説した書籍は、和書では未だ無いと思います。

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

#2です。すいません。カテゴリ見てませんでした。 PHP言語自体に入門する必要は無いということですね。オブジェクト指向に入門するために言語としてPHPを使った物は(あるのかもしれませんが)見たことはないです。 >MVC基本書 使うMVCフレームワークの解説書を買うのがいいのではないでしょうか?理解出来ない部分があっても、いずれは役に立ちますし。フレームワーク決まってますよね? あとは、Smartyの入門書 http://www.amazon.co.jp/dp/4798108839 あたりだと、もし当面、直接Smartyを使わないとしてもこの先どこかで役立つと思います。

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

人によって最適なものは違うので、ここで具体的な書名のアドバイスを求めるなら、あなたの過去のプログラミング経験や知識・スキルがわかる情報を出来るだけ詳しく記述して下さい。 あと、言語やフレームワークが限定されているならその情報もあった方が良いでしょうね。 それらなしでアドバイスするなら、 とりあえず、Wikipediaのオブジェクト指向のページとそこからリンクされている各種用語のページを見て、ある程度"なるほど"と思えれば、オブジェクト指向だけの入門書を読む必要は無いです。実際に使うプログラミング言語(Java??)の入門書から始めればいいと思います。そうでなければ、できるだけあなたがわかりやすいオブジェクト指向の入門書(オブジェクト指向プログラミング入門の本が何冊も置いてあるような大きめの書店に行って、手にとって気にいる物を選ぶといいと思います)をまず読んでからプログラミング言語の入門書でしょうね。 もしJavaの入門書であれば、下記の解説がよく出来ています。この中から選ぶと良いでしょう。 http://codezine.jp/article/detail/5331 >質問に対する回答ではない回答は ところで、例えば、あなたが「お金を儲けたいのですが、私に最適な職業は何でしょう?」という質問に回答するとしたらどう答えますか? 無視して答えない?そうですね。たぶんそれがいちばん良い態度です。でも、「ハローワークで相談しなさい」と言いたくなりませんか?

realize_5
質問者

補足

書込みありがとうございます。 ここはPHPカテゴリですから、当然PHPになります。 当方個人のスキルとしましては、 掲示板レベルは作れるがショッピングカートは作れないレベル (OOPではありません) です。 OOPスキルは質問の通りで、 <オブジェクト指向の経験がない>ので 無の状態です。 OOP知識0の状態からのMVC基本書(ネット情報でなく書籍) を求めています。 よろしくお願いします。

関連するQ&A

  • MVCモデルを学ぶには?

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

    • ベストアンサー
    • Java
  • PHPでMVC

    現在WEB関連のプログラムの仕事をしています。 主に、ASP.NET+C#を利用しています。 以前にJavaやPerlを使ったことはあるのですが、 PHPを使った事がありません。そこで今後利用できないか一度評価しておこうと思っています。 PHPは最近主流のMVCには対応していないと思うのですが、MVCで開発できる拡張キットやテクニックのようなものはありませんか? よろしくお願いします。

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

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

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

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

    • ベストアンサー
    • PHP
  • 【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
  • 【ASP.NET MVC】モデルの作り方

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

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

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

    • 締切済み
    • PHP
  • ASP.NET MVCのホームページ表示について

    ASP.NET MVC2 Webアプリケーションを新規作成した場合 http://localhost:○○/Home/index だと、デフォルトのホームページ「マイ MVC アプリケーション」が表示されますが、 http://localhost:○○/Home/index.aspx とaspx拡張子をつけると「リソースが見つかりませんでした。」といわれます。 従来型のASP.NET Webアプリケーションに慣れている者としては上記挙動が理解できません。 「逆では?」と感じられます。 なぜ上記のような結果になるのでしょうか? ご案内の方がおられましたらよろしくご教示くださいませ。

  • [incr Tcl]に関する書籍

    今度仕事でオブジェクト指向プログラミングの勉強をかねて、Tcl/Tkを使ってソフトを作ることになりました。[incr Tcl]という拡張を使っているんですが、サンプルプログラムを参考に作っていましたが、なにしろオブジェクト指向は初めてなので、限界感じています。日本語の[incr Tcl]に関する書籍は2001年以降でておらず、ほとんど絶版になっているようです。そこで、他のポピュラーな言語でオブジェクト指向を勉強しようと思うのですが、何が一番適当でしょうか?

専門家に質問してみよう