影片出租店 重構方法(2)

2021-09-18 01:50:55 字數 1115 閱讀 7500

影片出租店是《重構:改善既有**的設計》裡面的第乙個例子。使用了多種重構方法。

影片出租店:計算每一位顧客的消費金額並列印詳單。

操作者告訴程式:顧客租了哪些影片,租期多長,程式便根據租賃時間和影片型別算出費用。影片分為三類:普通片,兒童片和新片。除了計算費用,還要為常客計算積分,積分會根據租片種類是否為新片而有不同。

第1次重構:

修改後的**

qstring customer::statement()

result += "\t" + rental->getmovie()->gettitle() + "\t" + qstring("%1").arg(thisamount) + "\n";

totalamout += thisamount;

}result += "amount owed is " + qstring("%1").arg(totalamout) + "\n";

result += "you earned " + qstring("%1").arg(frequentrenterpoints) + " frequent renter points";

qdebug() << qprintable(result) ;

return result;

}double customer::amountfor(rental *rental)

break;

case movie::new_release:

result += rental->getdaysrented() * 3;

break;

case movie::children:

result += 1.5;

if (rental->getdaysrented() > 3)

break;

}return result;

}

測試結果:

影片出租店 重構方法(1)

影片出租店是 重構 改善既有 的設計 裡面的第乙個例子。使用了多種重構方法。影片出租店 計算每一位顧客的消費金額並列印詳單。操作者告訴程式 顧客租了哪些影片,租期多長,程式便根據租賃時間和影片型別算出費用。影片分為三類 普通片,兒童片和新片。除了計算費用,還要為常客計算積分,積分會根據租片種類是否為...

影片出租店 重構方法(3)

影片出租店是 重構 改善既有 的設計 裡面的第乙個例子。使用了多種重構方法。影片出租店 計算每一位顧客的消費金額並列印詳單。操作者告訴程式 顧客租了哪些影片,租期多長,程式便根據租賃時間和影片型別算出費用。影片分為三類 普通片,兒童片和新片。除了計算費用,還要為常客計算積分,積分會根據租片種類是否為...

影片出租店 重構方法(6)

影片出租店是 重構 改善既有 的設計 裡面的第乙個例子。使用了多種重構方法。影片出租店 計算每一位顧客的消費金額並列印詳單。操作者告訴程式 顧客租了哪些影片,租期多長,程式便根據租賃時間和影片型別算出費用。影片分為三類 普通片,兒童片和新片。除了計算費用,還要為常客計算積分,積分會根據租片種類是否為...