25. Dependency-Breaking Techniques - Subclass and Overrid Method など - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)

Working Effectively With Legacy Codeの 25章 Dependency-Breaking Techniques からテクニック4つ。

マインドマップから再構成したまとめ

22.Subclass and Overrid Method
問題

  • ふるまい変えたい

手順

  1. 分離したいもの特定
  2. overridable にする
  3. override する


23.Supersede Instance Variable
問題

手順

  1. supersedeXXX という setter を作る


24.Template Redefinition
問題

  • 一部の挙動を入れ替えたい

手順

  1. 特定
  2. クラステンプレートにする。テスト時に入れ替えたい部分をテンプレートパラメータに。
  3. xxximpl などとリネーム
  4. typedef で元のクラス名使えるように調整
  5. テストではテンプレートパラメータ変える


25.Text Redefinition
問題

  • 一部の挙動入れ替えたい

手順(Rubyの場合)

  1. テストで一部の実装入れ替える

所感

リンク

一人読書会 - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)


Working Effectively With Legacy Code
Michael C. Feathers
Prentice Hall
売り上げランキング: 4738
おすすめ度の平均: 5.0
5 設計が悪いシステムの保守でお悩みの方へ