2011-04-22 36 views
1

我正在設計一個將在Django中開發的項目,我有一個設計哲學問題。在我的應用程序中,我需要跟蹤本週的信息。這與NFL中的本週有關(1-17),可以根據系統中的其他模型(例如計劃和當天)進行計算。由於這些信息每週更新一次,並且會在應用中經常使用,因此將此信息存儲在自己的模型(db表)中並每週運行更新是否有意義?
還有其他一些信息對於存儲(本週的第一場和最後一場比賽的日期/時間)可能也有用,所以像「當前周信息」這樣的模型適合於此,即使數據可以即時計算?半靜態數據設計問題

回答

1

會的類似 「當前周的信息」的典範是這個 合適,即使 數據可以實時計算?

可能是。您可以計算復活節的日期,但很少有應用程序可以這樣做。計算遠非簡單,並且任何錯誤都必須被視爲錯誤修復。但是,如果您將復活節日期存儲在表中,任何可以更新日曆數據的人都可以解決任何錯誤。

計算美國假期很簡單,如馬丁路德金紀念日(在1月的第3個星期一觀察),總統日(在2月的第3個星期一觀察)和勞動節(觀察9月的第1個星期一)。計算工廠生產周也很容易,這在某些方面與您的問題相似。

但是,當我建立企業用於排程,估算,過程控制等的表格時,我喜歡將對業務重要的日期(例如假期)存儲在表而不是程序(計算)代碼。主要優勢在於可以由相對不熟練的員工收集,審閱和批准或更正這些問題,而不需要程序員。所以,如果我在你的鞋子裏,我可能會把這幾周存放在一張桌子裏。次要優勢(或者對您來說可能是主要優勢)是大多數涉及周的查詢可能會利用開始和結束日期的索引。

+0

您提出了一個很好的關於計算數據的潛在錯誤,以及難以修復存儲在表中的數據和修復數據的問題。謝謝回覆! – user417918 2011-04-22 21:21:00