- ベストアンサー
オブジェクト指向設計について
オブジェクト指向設計に興味を持って、いくつかオブジェクト指向の本を読んでみたのですが、 どうもオブジェクト指向に関する基礎知識の説明ばかりで、 オブジェクト指向でどのように設計するのか、どのように生かされるのか、 肝心な部分がいまいちピンときません。 オブジェクト指向による設計に重点を置いたお薦めの書籍などありましたら是非教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
私も「オブジェクト指向のこころ」がお勧めです。 http://www.amazon.co.jp/dp/4894716844 通して読むと、オブジェクト指向の考え方が分かります。 他には下記のものもお勧めです。 「オブジェクト指向でなぜつくるのか」 http://www.amazon.co.jp/dp/4822281957/ 「アジャイルソフトウェア開発の奥義」 http://www.amazon.co.jp/dp/4797347783/ 「Code Complete第2版〈上〉」(6章にクラスの解説が有る) http://www.amazon.co.jp/dp/489100455X/
その他の回答 (3)
- bug_bug
- ベストアンサー率78% (36/46)
私も良書に出会えるまではしばらくパラダイムチェンジができず、オブジェクト指向設計・開発のメリットがいまいちピンと来ませんでした。 手当たり次第に読んでた中で、確実に手ごたえを感じた2冊を紹介します。 「オブジェクト指向のこころ」 原書は洋本ですが、和訳が出ています。読み物として読んでるうちにパラダイムチェンジができました。 「オブジェクト指向における再利用のためのデザインパターン」 通称:GOF本 オブジェクト指向な設計の具体的なモデル例がてんこもり。 この2冊は読んだ後、書籍の価格を安いと感じました。 個人的には必読だと思っています。読破されていたらすいません。
お礼
「オブジェクト指向のこころ」 書籍レビューを見ると、この本でパラダイムチェンジできたという人が多いようですね。すごく良さそうです。 GOF本は難しそうですが、上の本と合わせて読むと、良いみたいですね。 書籍のご紹介、ありがとうございました。
- lv4u
- ベストアンサー率27% (1862/6715)
>>オブジェクト指向でどのように設計するのか、どのように生かされるのか、 肝心な部分がいまいちピンときません。 確かに、そういう面があると思います。それは、書籍や雑誌で、解っていない著者が誤った記述をしたり、出版社・セミナー主催者が一儲けしようと、味噌クソいっしょにしていろいろと売り込んだので、学習している人々がピンとこなかったり、開発現場の効率がかえって悪化したりしていたと思いますね。 実際に、C++を使ったプロジェクトで、継承を使いまくった開発があったのですが、2年と数億の開発予算を使った後、ボツになりました。途中からのプロジェクト参加でしたが、すごくわかりずらかったのを覚えています。(設計者がよく解っていなかったのだと思えます。) 私が解りやすいと思った説明は、「まつもとゆきひろコードの世界」に書かれていた以下の文章です。 現在のオブジェクト指向プログラミングを一番よく理解できる視点は、「オブジェクト指向プログラミングとは構造化プログラミングの延長だ」というとらえ方ではないかと思います。(P.42) なので、名著とされる「構造化分析とシステム仕様」とか複合設計の書籍等で解説されているメリットなど、構造化プログラミングをまず理解し、その上で、オブジェクト指向プログラミングを学ばれればいいのではないでしょうか?なお、Rubyの設計者である「まつもとゆきひろコードの世界」は、お薦めです。(でも、ある程度のオブジェクト指向プログラミングの経験がないと読みずらいと思います)
お礼
>「オブジェクト指向プログラミングとは構造化プログラミングの延長だ」 なるほど。多くの書籍がオブジェクト指向プログラミングと構造化プログラミングを比較し、別物として扱っている中で、この考え方は初めて聞きました。 構造化プログラミングは、ひと通り経験はあるのですが、さらに理解を深めてみようと思います。 「まつもとゆきひろコードの世界」は書籍レビューを見る限り、とても難しそうですが、参考にさせて頂きます。ありがとうございました。
- buriburi3
- ベストアンサー率44% (353/792)
運用フロー全体の設計を行うオブジェクト指向デザインの事でしたらスミマセンわかりません。 プログラム作成におけるオブジェクト指向プログラミングの事でしたら オブジェクト指向をどのように生かすのかの前に、なぜオブジェクト指向が必要になったのかを理解したほうが良いと思います。 ※裏返すとオブジェクト指向プログラミング以前の方法論の欠陥とか欠点とかです。 実際問題、数Kライン程度の小規模なプログラムではオブジェクト指向でなくても全然困らなかったり、メリットがほとんど無かったりします。 ※Cで組んでもC++で組んでも大差ないような場合 技術的な方法論を説明している解説書はいくらでもあるので なぜオブジェクト指向が必要になったのかに焦点を当ててわかりやすく説明している本として 『オブジェクト指向でなぜつくるのか』ISBN0: 4822281957 出版:日経BP (初版:2004/6/3) をお勧めします。 多態性や多様性、隠蔽が必要な理由が分かれば使いどころも分かると思います。
お礼
>実際問題、数Kライン程度の小規模なプログラムではオブジェクト指向でなくても全然困らなかったり、メリットがほとんど無かったりします。 そうですよね。メリットが無いどころか、無駄にコストが掛かりそうな気がします。 確かに、必要性をよく理解していないのも、一つの原因かもしれません。 ご紹介して頂いた本、参考にさせて頂きます。ありがとうございました。
お礼
「オブジェクト指向のこころ」は、やはり良書のようですね。 「アジャイルソフトウェア開発の奥義」は第2版でC++からJavaに変更されてしまっているようで、少々残念ですが(自分はC++をよく使う者でして…)、デザインパターンの存在理由や設計の実践法をソースコードを通して説明されているようなので、大変良いと思います。 「Code Complete第2版〈上〉」は、レビューの内容からして、是非とも手元に置いておきたい一冊ですね。 書籍のご紹介、ありがとうございました。