25. Dependency-Breaking Techniques - Extract Override Call and Extract Override Factory Method - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)

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

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

6.Extract Override Call
問題

  • テスト時に副作用のある global・static な call の中身を入れ替えたい

手順

  1. 対象のメソッドの宣言を持ってきてコピー
  2. メソッドに call をコピー
  3. sub class で入れ替え

7.Extract Override Factory Method
問題

  • コンストラクタでインスタンス生成していて、テスト時に動作を変えられない

手順

  1. インスタンス生成を Factory Method に移動
  2. テストでは override して入れ替える

所感

  • Extract Override Factory Method は C++ では使えない。

リンク

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


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