2012-05-02 55 views
1

假設,如果我隨着時間的推移跟蹤同事的工作。什麼是構建我的數據的最佳方式?我的例子是完全組成的,但這是一個編程問題,在實踐中出現了很多次。隨着時間的推移構建數據的最佳實踐

我的問題最好用一個簡單的例子說明:

你硬編碼您的同事工作到每天三個不同的列表。 假設列表1是「他/她需要做什麼」。 假設列表2是「他/她做了什麼」。 最後,列表3是這些值被記錄的日期。

所有列表都是累積的,可以隨時間增加或減少。

因此,在第四天,清單1將由4個整數組成:{100,97,94,101} - 表示剩餘待完成工作的整數。 在第四天,列表2將由4個累積整數值組成:{0,3,3,5}表示此同事迄今爲止所做的工作(每次他們完成一項工作時,您將向列表中添加一個) 。 列表3將包含日期(假設程序每天運行一次,所以01/01/2012,02/01/2012等)。

現在,很明顯使用列表來存儲這些數據是一種糟糕的做法 - 忘記輸入一塊數據,並且您的所有數據都被破壞並關閉。

這種情況下最好的做法是什麼?數據應該如何構建?在我看來,從日期到結果的映射似乎是一種很好的做法,這是否正確,並創建一個自定義類來保存「完成的工作/待完成的工作」信息?

回答

1

我認爲你需要爲你想存儲,並提供允許查詢世界當前狀態,也歷史狀態的接口有什麼時間戳的抽象(如Task類)。

看看福勒的temporal patterns的靈感。