根據兩個屬性類型和值實施簡單報價系統以確定作業成本的最佳方式是什麼?簡單作業報價系統的設計
會決定什麼範圍值落入了它的型作業成本。
例如:
工作類型A將花費
- $ 80 $ 0-150
- $ 100之間值$ 150-300
- 爲值> $ 300 $ 120之間的值
工作類型B將花費
- $ 50 $ 0-120
- $ 100之間值$ 120-250
- $ 120之間值$ 120-500
- $ 150之間值值> $ 500
的頻帶範圍應該是可配置的,並且每個作業類型可以具有不同範圍的波段。
頻段範圍和成本可能會改變,最終將存儲在通過存儲庫模式訪問的SQL服務器數據庫中,以便我可以實現TDD的模擬存儲庫。
我最初的發展使我具有低於代表樂隊
public class JobCostBand
{
public int ID { get; set; }
public string Type { get; set; }
public float ValueLowerBand { get; set; }
public float ValueUpperBand { get; set; }
public float Cost { get; set; }
}
一個輕量級的類我不得不使用LINQ to從這些對象在內存列表中選擇返回成本模擬庫。這個類可以很容易地映射到一個SQL表,從而我可以使用LINQ to SQL在最終的DB存儲庫中查找代價。
我的問題是如何處理給定工作的最後一個樂隊類型。我開始使用float.MaxValue作爲高端樂隊,但這並不適合我。然後,我考慮使用一個較高或較低的值來指定JobCostClass中的樂隊,但再次表現不佳。我是在想這個還是太多了,還是錯過了一個真正簡單的建模方法?
關於思考我想要做什麼的好處 - 容易陷入表示。不完全理解可以爲空的值,我理解需要檢查與下一個帶有關的較高值,但可空值如何幫助?我猜想可以爲空的價值將解決float.maxvalue的氣味,然後我的經理會照顧可能沒有限制的最高樂隊。 – MPD 2011-05-24 22:39:09
是的。如果沒有較高的值,則可以使用'null',根據您的域,這可能會也可能不會。 – Joe 2011-05-24 22:49:13