差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
article:poodr [2020/11/28 13:38]
127.0.0.1 外部編集
article:poodr [2020/12/30 00:28] (現在)
kijima
行 1: 行 1:
-{{tag>book 進行中}}+{{tag>book}}
 ====== Practical Object-Oriented Design in Ruby ====== ====== Practical Object-Oriented Design in Ruby ======
  
行 5: 行 5:
  
 オブジェクト指向なデザインの本。要するにRubyでの再利用性、耐変更性を考慮した正しい書き方。 オブジェクト指向なデザインの本。要するにRubyでの再利用性、耐変更性を考慮した正しい書き方。
-デザインパターンとたぶん同じ意味。CやJavaをテーマにしたデザインパターンの本は数あれどRubyを題材にしたデザインの本はそ多くない+デザインパターンの本だ思っていう。
  
 ===== 1. Object-Oriented Design ===== ===== 1. Object-Oriented Design =====
行 120: 行 120:
   * super()し忘れると間違った挙動をもたらす。よくない。コンストラクタのフックメソッドを作っておく。そうすると、子クラスには特化だけ書かれていることになる。   * super()し忘れると間違った挙動をもたらす。よくない。コンストラクタのフックメソッドを作っておく。そうすると、子クラスには特化だけ書かれていることになる。
 ===== 7. Sharing Role Behavior with Modules ===== ===== 7. Sharing Role Behavior with Modules =====
 +
 +  * オブジェクトごとに共通の振る舞い、それがロール。
 +  * ミックスインとは、名前をつけてメソッドのグループを定義すること。クラスとは独立し、どんなオブジェクトにも混ぜ入れることができる。
 +  * Rubyでは、混ぜ入れられるものを「モジュール」という。なるほど。''include''するやつ。
 ===== 8. Combining Objects with Composition ===== ===== 8. Combining Objects with Composition =====
 ===== 9. Designing Cost-Effective Tests ===== ===== 9. Designing Cost-Effective Tests =====
article/poodr.1606538322.txt.gz · 最終更新: 2020/11/28 13:38 by 127.0.0.1