第7章 モジュールでロールの振る舞いを共有する
継承はクラスの継承のみにとどまらない。Rubyのモジュールを使い振る舞いを共有させることが可能である。

オブジェクト指向設計実践ガイド ?Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
- 作者: Sandi Metz
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/02
- メディア: Kindle版
- この商品を含むブログ (6件) を見る
ロール
クラスによる振る舞いの共有が縦の関係であるとすればロールによる振る舞いの共有は横の関係。
オブジェクト指向なアプリケーションにおける一般的な規則「オブジェクトは自身を管理すべき」。オブジェクトAについての情報を得たいとき、オブジェクトBに関する知識が要求されるのであればそこには不穏な匂いを感じ取るべきである。オブジェクトAの情報を得るには、オブジェクトAに関する情報のみあれば十分なはずである。
Rubyのメソッド探索については

- 作者: Peter J. Jones,arton,長尾高弘
- 出版社/メーカー: 翔泳社
- 発売日: 2015/01/09
- メディア: 大型本
- この商品を含むブログ (13件) を見る

- 作者: Paolo Perrotta,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/10/10
- メディア: 大型本
- この商品を含むブログ (3件) を見る
などが詳しいので省略
モジュールの使い方
抽象スーパークラスの中に、あるサブクラスは使うが他のサブクラスは使わないコードがあってはいけない。スーパークラスはすべてのサブクラスの汎化でなければならないが、そのようなコードはサブクラスで汎用的に使われるものではなく特化されたものである可能性が高い。

オブジェクト指向設計実践ガイド ?Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
- 作者: Sandi Metz
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/02
- メディア: Kindle版
- この商品を含むブログ (6件) を見る