Practical Objected Oriented Designを読む 7・8章
Practical Objected Oriented Designを読んでの感想を書いていくシリーズです。今回は7・8章です。過去の1・2章、3・4章と5・6章についても感想を書いているのでもしよければご覧ください。
7. Sharing Role Behavior with Modules
この章はModuleを使ってDuck Typingを最終的に実装していく内容になっている。最初はクラスにSchedulable Moduleに組み込む機能を実装しつつ、すこしずつ分離しながらSchedule classを作っていく。最終的にはModule化して組み込みやすくしてていく様になっている。この本での特徴でもあるけど、すこしずつ形を変えつつ理想的な実装方法を提示されるので実務でもこの流れで進めて行けるイメージが湧いてよかった。
8. Combining Objects with Composition
この章は6章で継承を使ってコードをキレイにしたコードを書き換えつつ、別の方法もあるよ、ということを提示している。Compositionの説明の詳細は省くとしてこれは個人的に好きパターンだ。これが実装されているもの色々あるかなと思っていて、Rackやhtml-pipeline で使われている。これは使い所なかなかないけど、使い所正しいとすごく効果発揮するパターンと思っていて、あと美しいと思っているので個人的に好き。
8.5.3で書かれていてどういうときに継承とDuck Typing、Compositionのこれらはそれぞれメリデメあるのでどんなときに使うべきかということが書いてあってここは何度も読み返したいなと思った。
おわりに
7・8章を読んでいって、実装に関する箇所はこれで終わり。途中で時間をおいて読むとあんまり覚えていなくて同じ箇所から読み進めることが多々あって、進みがかなり遅くなってしまいました。まあ、読むのに慣れてきている気はしてきて、すこしずつ前に進んでる実感はあるのでこれはこの本を読み終えても続けていきたいなと思います。次は最後のテストについてですが、個人的に関心が高いので楽しみです。では、また!