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
問題
- ふるまい変えたい
手順
- 分離したいもの特定
- overridable にする
- override する
23.Supersede Instance Variable
問題
- コンストラクタでインスタンス変数初期化。入れ替えられない
手順
- supersedeXXX という setter を作る
24.Template Redefinition
問題
- 一部の挙動を入れ替えたい
手順
- 特定
- クラステンプレートにする。テスト時に入れ替えたい部分をテンプレートパラメータに。
- xxximpl などとリネーム
- typedef で元のクラス名使えるように調整
- テストではテンプレートパラメータ変える
25.Text Redefinition
問題
- 一部の挙動入れ替えたい
手順(Rubyの場合)
- テストで一部の実装入れ替える
所感
- Template Redefinition は目から鱗。
リンク
一人読書会 - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)
Working Effectively With Legacy Code
posted with amazlet at 08.10.24
Michael C. Feathers
Prentice Hall
売り上げランキング: 4738
Prentice Hall
売り上げランキング: 4738
おすすめ度の平均:
設計が悪いシステムの保守でお悩みの方へ