影片出租店是《重構:改善既有**的設計》裡面的第乙個例子。使用了多種重構方法。
影片出租店:計算每一位顧客的消費金額並列印詳單。
操作者告訴程式:顧客租了哪些影片,租期多長,程式便根據租賃時間和影片型別算出費用。影片分為三類:普通片,兒童片和新片。除了計算費用,還要為常客計算積分,積分會根據租片種類是否為新片而有不同。
第5次重構:
修改後的**:
int rental::getfrequentrenterpoints()
double rental::getcharge()
int movie::getfrequentrenterpoints(int daysrented)
return 1;
}double movie::getcharge(int daysrented)
break;
case movie::new_release:
result += daysrented * 3;
break;
case movie::children:
result += 1.5;
if (daysrented > 3)
break;
}return result;
}
測試結果: 影片出租店 重構方法(1)
影片出租店是 重構 改善既有 的設計 裡面的第乙個例子。使用了多種重構方法。影片出租店 計算每一位顧客的消費金額並列印詳單。操作者告訴程式 顧客租了哪些影片,租期多長,程式便根據租賃時間和影片型別算出費用。影片分為三類 普通片,兒童片和新片。除了計算費用,還要為常客計算積分,積分會根據租片種類是否為...
影片出租店 重構方法(2)
影片出租店是 重構 改善既有 的設計 裡面的第乙個例子。使用了多種重構方法。影片出租店 計算每一位顧客的消費金額並列印詳單。操作者告訴程式 顧客租了哪些影片,租期多長,程式便根據租賃時間和影片型別算出費用。影片分為三類 普通片,兒童片和新片。除了計算費用,還要為常客計算積分,積分會根據租片種類是否為...
影片出租店 重構方法(3)
影片出租店是 重構 改善既有 的設計 裡面的第乙個例子。使用了多種重構方法。影片出租店 計算每一位顧客的消費金額並列印詳單。操作者告訴程式 顧客租了哪些影片,租期多長,程式便根據租賃時間和影片型別算出費用。影片分為三類 普通片,兒童片和新片。除了計算費用,還要為常客計算積分,積分會根據租片種類是否為...