時間:1月5日地點:大B房間人物:大B,校
這天,大B和小A在討論怎樣去處理訂單的問題。
小A:“一個客戶可以在一個訂貨單中訂購多個貨物(也稱爲訂貨單項目),貨物的銷售價是根據貨物的進貨價進行計算的。”
大B:“有些貨物可以打折的,有些是不可以打折的。每一個客戶都有一個信用額度,每張訂單的總價不能超出該客戶的信用額度。”
小A:“那我們應該怎樣去處理這個訂單?”
大B:“處理一個訂單需要的步聚:1、遍歷訂貨單的訂貨單項目列表,累加所有貨物的總價格(根據訂貨單項目計算出銷售價)。2、根據客戶號獲得客戶的信用額度。3、把客戶號,訂單的總價格,及訂單項目列表寫入到數據庫。”
小A:“但是我們並不能確定怎麼計算出貨物的銷售價,怎樣根據客戶號獲得客戶的信用額度及把訂單信息寫入數據庫這些方法的具體實現?”
大B:“所以用一個抽象類AbstractOrder確定訂單處理的邏輯,把不能確定的方法定義爲抽象方法,由子類去完成具體的實現。”