[英]Repeating “Events” (Calendar)
我目前正在開發一個應用程序,允許人們為在線廣播電台安排“節目”。
我希望用戶能夠設置重復的事件,比如說: -
“狂歡星期一”節目 - 每周一從9-11“月中瘋狂” - 每月的第二個星期四“這個月的新音樂” - 每個月的第一天。
在您看來,這是建模的最佳方式(基於MVC / MTV結構)。
注意:我實際上是在Django編碼。 但我對它背后的理論更感興趣,而不是具體的實現細節。
啊,重復的事件 - 我生命中的一個禍根,以及時區。 日歷很難 。
您可能希望根據RFC2445對此進行建模 。 但是,這可能會給你帶來更大的靈活性和復雜性,而不是你真正想要的。
需要考慮的一些事項:
我意識到這是一個需要考慮的事情列表,而不是一個確定的答案,但我認為在您嘗試制定解決方案之前定義問題的參數很重要。
通過閱讀其他帖子,Martin Fowler描述了反復出現的最佳事件。 http://martinfowler.com/apsupp/recurring.pdf
有人為Java實現了這些類。 http://www.google.com/codesearch#vHK4YG0XgAs/src/java/org/chronicj/DateRange.java
我曾經想過,在保存原始事件時,應該使用新模型生成重復事件。 這意味着我不會在每次加載日歷時進行隨機處理(例如,我也可以取消一個系列中的“Show”),但也意味着我必須將其限制在某個時間范圍內,所以如果有人說,未來一年,他們就不會看到這些重復的節目。 但在某些時候,他們必須(可能)重新生成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.