我目前正在研究一个应用程序,允许人们为在线电台安排“节目”。重复“事件”(日历)
我想为用户设置一个重复事件的能力,例如说: -
“狂躁星期一”节目 - 每周一从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