2011-02-22

Refactoring 149 - Extract Class

Bad smell:
  • Data clumps
  • Divergent change
  • Duplicated code
  • Large class
  • Primitive obsession
使用時機:

  • 一個 class 做的事情應該拆成兩個 class 時。
方法:
  • 新增一個 class,將相關的 field 與 method 搬到新的 class 裡。


一開始可能覺得不值得為一兩個 method 新增一個 class,但是當一個 class 慢慢長大,變得複雜、變胖、負的責任太多、難以理解時,就是考慮 Extract class 的時候了。

分家可以依據同一群 field 和 method 成一家,或者連動的 field,或者相依靠的 field,都是分家的根據。

沒有留言:

張貼留言