1. 程式人生 > >6.8 Replace Method with Method Object 以方法物件取代方法

6.8 Replace Method with Method Object 以方法物件取代方法

將大型方法放入單獨物件,使方法內的臨時變數成為物件中欄位,在物件中將大型方法分解為多個小型方法

更多精彩

前置條件

  1. 有時候會發現無法使用 6.4 Replace Temp with Query 以查詢取代臨時變數 ,因為無法拆解一個需要被拆解的物件
  2. 這個時候就需要先使用本方法,在使用上述方法

動機

  1. 小型方法的複用率更高,且更容易被理解

案例

public class Order {
	public double price() {
double primaryPrice; double secondaryPrice; double tertiaryPrice; } }
public class Order {
	public double price() {
		Price price = new Price();
	}
}

public class Price {
	private double primaryPrice;
	private double secondaryPrice;
	private double tertiaryPrice;

	// 提供一系列 getter/setter 方法
}