<輪読会> オブジェクト指向実践ガイド -はじめに-
輪読会メンバー
- Izumi Haruya
- Sekine Yutaro
本書を読む目的
各メンバーがエンジニアとして働き始める中で個別の言語を習得することになった。(C#
, Java
など)
それらの共通項として、オブジェクト指向言語という特性があった。かつ、具体的な言語の学習以外に抽象概念の学習もしたいと考えていたので、本書を学習しようと思った。
はしがき
- メンテナンス性の高さと進化のしやすさが重要
- 優れたメンテナンス性に関しての教育を受ける機会が無いから本書で学ぶ
本書は
Ruby
を使用して進行する。
- 優れたメンテナンス性に関しての教育を受ける機会が無いから本書で学ぶ
はじめに
コードを書く行為と生み出すものには価値を認識する
- それができないとプログラマーの幸福や生産性のが損なわれる
オブジェクト指向ソフトウェアの設計を取り扱う
- アカデミックな重い本ではない
- 1人のプログラマーが書いた、コードをいかに書くかという話
本の読み方
- 1章オブジェクト指向導入
- 2-9章でオブジェクト指向設計の原則を砕いて章ごとに説明
※ロールとは、コンポジションとは(今後の問い)
本書の使い方
- 精通者は賛否が発生、考えながら読む事で更に理解が深まる
- 章ごとに「初めに」に戻って読み直すのもあり
本書のゴールとは
- (本書のエッセンスを加味して)コード化できる!
あとがき
本書で学ぶ具体的なこと
- 責任
- 依存関係、
- インターフェース
- ダック
- 継承
- 振る舞いの共有
- コンポジション
- テスト
オブジェクト指向設計はフラクタル
- オブジェクトが互いに交流するための拡張性がある方法を定義することにあり、オブジェクトをどの規模でとらえよう
フラクタルとは、自己相似性をもつ図形
今後の未来
- 依存関係を管理し、インターフェースをつくるための、コードの書き方についての規則のこと
- 本書の規則を学んだことで、次は自身の目的に合わせて曲げることができる。
- 設計に緊張が伴う理由は、これらの規則を破るため
- 上手に破ることを学べば、それは設計者の一番の強みとなる。
参考書籍
オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 | Sandi Metz, 髙山泰基 | 工学 | Kindleストア | Amazon