“オブジェクト指向設計実践ガイド”はオブジェクト指向設計を学びたい方向けの本です。
Rubyで解説していますが、pythonと似ている言語なのでpythonユーザーでも参考になると思います。
内容
“最初はシンプルなモデルに始まり、仕様が追加されるに従って設計を見直す”という流れで設計の考え方を解説しています。
そのため、プログラミング言語の文法を習い終えた初心者の方でも無理なく読める方だと思います。
オブジェクト指向設計のシステムの基礎は「メッセージ」です。(中略)設計における重要な点は、次の数章のうちに徐々にクラスからメッセージへと移っていきます。
私が本書で一番考えさせられた文章です。”設計で重要な点はクラスよりもメッセージがある”という主張を知りたい方は本書を読んでみて下さい。
“第9章 費用対効果の高いテストを設計する”でスタブとモックの使い方は他の本で読んだことがなく勉強になりました。
依存関係を取り除くために以下のテクニックが紹介されていますが、やりすぎだと思いました。
- イニシャライザの引数を制限しないで、任意のキーワード引数を受け付けるようにする
- サブクラスの初期化時にスーパークラスのイニシャライザを呼ばなくても良いように関数を定義する
本書の設計手法はあくまで例で、実際は使用言語や自分のスタイルに合わせて取り入れていく方がいいと思いました。
まとめ
pythonでオブジェクト指向設計を解説している本は滅多にありません。
“オブジェクト指向設計実践ガイド”はRubyで解説されていますがpythonと同じ動的言語なのでコードは理解しやすいです。
オブジェクト指向設計について具体例いながら学びたいという方は本書が役立つと思います。
リンク
コメントを残す