投稿元:
レビューを見る
初心者よりも設計で失敗した経験がある開発者が立ち返りこういう方法があったのか!と理解を深めるのに良さそう(良かった)
読みやすいコードを示しながら、どこが問題か、ではどうするか、と順序立てて丁寧に解説してあり読みやすい。文体もよい。
最後のテストの章も価値のあるテストを書くためにとても参考になりそうである。
投稿元:
レビューを見る
良書。
変更に対して柔軟であるために、設計が必要である。
なるほど。
若干抽象的な箇所はあるが、終始コンセプトを貫いていてメッセージ性がある。
どのオブジェクト指向の本でもだいたい語られるキーワードであるインターフェース、継承、コンポジション。ひとつひとつは決して難しい内容ではない。ただ、「設計の良し悪し」という観点で語られることはあまりなく、正直それほど意識しなくてもアプリケーションは作れてしまう。
本書を読むと、これらのオブジェクト指向的なテクニックを適切に使うのとそうでないのでは、変更に強い設計という点で雲泥の差が出るというのがよく理解できる。テクニックの「使いどころ」について非常に理解の助けになる一冊。
投稿元:
レビューを見る
とても面白かった。これまで抽象的にしかわかっていなかったオブジェクトの依存関係や結合度といった話がコードレベルで理解できた。またダックタイピング、継承、モジュールなどの使いどころについての理解も深まった。例が Ruby で書かれているのもありがたかった。
投稿元:
レビューを見る
タイトルに偽りなくとても実践的。私自身長年Rubyでプログラミングをしているが、感覚に頼っていたところが整理できた。
投稿元:
レビューを見る
オブジェクト指向がやっと掴めた最高の1冊。翻訳調のため理解しにくいが(英語で読んだほうがはいってくるかも)ただ、rubyで解説されているのは個人的に応用が効きやすくありがたかった。
投稿元:
レビューを見る
図が1つあれば20行の解説が省けるような箇所が多く見受けられ、ひどく分かりにくい…
他のレビューにある通り、翻訳や独特の癖が原因かもしれない。
投稿元:
レビューを見る
オブジェクト指向設計についてよくまとまっている。パターンの選択基準についても記載があるので、パターンを憶えても使い所がわからないということはないと思う。
投稿元:
レビューを見る
Rails実務経験半年の頃に読んだが、オブジェクト指向について理解しているけれど実践できない自分にはとても勉強になる内容だった。
読んだら力になることは間違いないが、読むのにかなり気合いを要したので、「それなりに実務経験を積んでから読む」 or 「短期間で集中して読む」のがいいと思う。
自分は後者。
全て完璧に理解したとは言えないので、時間を見つけて読み返したい。
投稿元:
レビューを見る
オブジェクト指向の本は、Javaが多いのでRubyのコードでオブジェクト指向を学べるという点が良かった。設計の話はもちろん、Rubyの書き方でのtipsや、テストコードに関しても記載してあり、オブジェクト指向を通して優れたシステムを作る知恵を得ることができた。
投稿元:
レビューを見る
Rubyでのオブジェクト指向プログラミングの本。簡単なので雰囲気を掴みやすい。最後のテスト設計の章は読む価値があると思う。C++が読めるなら、「C++のためのAPIデザイン」の方がインターフェースに着目して書かれているという点で良書に思われる。TO
投稿元:
レビューを見る
全体を通して設計初心者に最初の武器を与えてくれる。
単一責任から始まり、ダックタイプ、継承、振る舞いの共通化そしてテストと順に追うことでプログラム設計に対しての理解が深まり、今後設計にしっかりとした論理をもって行っていくための最初の一歩を踏み出せそうです。
投稿元:
レビューを見る
『オブジェクト指向設計実践ガイド』
ソフトウェア・アーキテクトとして30年以上の経験を持つSandi Mets 氏の著書です。
「オブジェクト指向」って、プログラミングの世界では普通に使われている言葉なんですが、プログラミング初心者の私には全然その姿が見えませんでした。
学生時代に勉強したプログラミング言語のBasic、FORTRANは手続き型言語でしたし、趣味でいじっていたEXCELマクロのVBAも小さいものばかりだったので必要としませんでした。
今回、RubyやRuby on Railsを真剣に取り組み始めて、他人のコードを見て???となるばかり。
そこで評判も良く、Rubyを使って説明している本書に挑戦してみることにしました。
【本書で学べること・考えること】
・オブジェクト指向プログラミングの利点
・単一責任のクラスの決定
・不必要な依存の断ち切り
・柔軟なインターフェイスの定め方
・ダックタイピング
・上手な振る舞いの適用
・コンポジションによるオブジェクト作成
・費用対効果の高いテスト設計
読んでみての感想です。
元の説明が冗長的な上に直訳的な日本語訳なので、なかなか読解が難しい本です。
絶対の正解があるわけでなく、概念的な内容なので、より難解です。
ただ、説明がRubyのコードで書かれているので、コードを読めば内容が理解できる点も良かったです。
今の自分のスキル、知識では、全部を理解することはできませんでした。
ただ、読む前と読んだ後では、確実にコードの見方や書き方が変わったと思います。
(Rubocopがメソッドの行数が多いと注意してくる理由が分かりました。)
自分の理解した内容としては、以下の通りです。
・オブジェクト指向の目的
SOLID、DRY、デメテルの法則としった原則に基き、将来的に変更や拡張のコストを下げる柔軟性の高いソフトウェア設計を行う
・注意点
-クラスは単一責任
-依存関係は疎結合に
-パブリックインターフェイスを明示
・設計手法
-ダックタイピング
-継承 is-a関係
-モジュール
-コンポジション has-a関係
・テストコード
-将来の変更に備えつつ不変的な単位でコードを書く
まだまだ理解は足りませんが、体系的に知識を得たので、必要に応じて戻ってこれると思います。
今のタイミングで読んでおいて良かったです。