我目前正在研究一個應用程序,允許人們爲在線電臺安排「節目」。重複「事件」(日曆)
我想爲用戶設置一個重複事件的能力,例如說: -
「狂躁星期一」節目 - 每週一從9-11 「月中瘋狂」 - 的第二個星期四月 「這個月新音樂」 - 每個月的第一場。
什麼,在你看來,是模型的最佳方式(基於MVC/MTV結構)。
注意:我實際上是在Django中對此進行了編碼。但是我更關心它背後的理論,而不是具體的實施細節。
我目前正在研究一個應用程序,允許人們爲在線電臺安排「節目」。重複「事件」(日曆)
我想爲用戶設置一個重複事件的能力,例如說: -
「狂躁星期一」節目 - 每週一從9-11 「月中瘋狂」 - 的第二個星期四月 「這個月新音樂」 - 每個月的第一場。
什麼,在你看來,是模型的最佳方式(基於MVC/MTV結構)。
注意:我實際上是在Django中對此進行了編碼。但是我更關心它背後的理論,而不是具體的實施細節。
啊,重複的事件 - 我的生活中的一個咒語,以及時區。日曆是硬。
你可能想在RFC2445模型。但是,這可能會給你帶來更多的靈活性 - 而且比你真正想要的還要複雜。
有幾件事情要考慮:
我意識到這是一個需要思考的問題,而不是一個明確的答案,但我認爲在您嘗試解決問題之前定義問題的參數非常重要。
我曾經想過,在保存原始事件時應該生成重複事件,並使用新模型。這意味着每次加載日曆時我都沒有進行隨機處理(也意味着我也可以例如取消一個系列中的「顯示」),但也意味着我必須將其限制在某個時間範圍內,所以如果有人說,未來一年,他們不會看到這些重複的節目。但在某些時候,他們不得不(可能)重新生成。
從閱讀其他帖子,馬丁福勒描述經常性事件最好。 http://martinfowler.com/apsupp/recurring.pdf
有人爲Java實現了這些類。 http://www.google.com/codesearch#vHK4YG0XgAs/src/java/org/chronicj/DateRange.java
您通常會使用「例外」事件取消/更改重複中的一個事件。 – 2009-07-12 14:47:34
嗯..沒想過! – Mez 2009-07-12 16:07:59