我目前正在开发一个应用程序,允许人们为在线广播电台安排“演出”。
我希望用户能够设置重复的事件,例如: -
“狂躁星期一”节目 - 每周一9-11 “月中疯狂” - 每月的第二个星期四 “这几个月的新音乐” - 每个月的第一天。
在您看来,这是建模的最佳方式(基于MVC / MTV结构)。
注意:我实际上是在Django编码。但我对它背后的理论更感兴趣,而不是具体的实现细节。
答案 0 :(得分:9)
您可能想要根据RFC2445对此进行建模。但是,这可能会给你带来更大的灵活性和复杂性。
需要考虑的一些事项:
我意识到这是一个需要考虑的事情清单而不是一个明确的答案,但我认为在您尝试制定解决方案之前定义问题的参数非常重要。
答案 1 :(得分:1)
通过阅读其他帖子,Martin Fowler描述了反复出现的事件。 http://martinfowler.com/apsupp/recurring.pdf
有人为Java实现了这些类。 http://www.google.com/codesearch#vHK4YG0XgAs/src/java/org/chronicj/DateRange.java
答案 2 :(得分:0)
我曾经想过,在保存原始事件时,应该使用新模型生成重复事件。这意味着我不会在每次加载日历时进行随机处理(例如,我也可以取消一个系列中的“Show”),但也意味着我必须将其限制在某个时间范围内,所以如果有人说,未来一年,他们就不会看到这些重复的节目。但在某些时候,他们必须(可能)重新生成。