1. ホーム
  2. ルビー

[解決済み】カレンダーアプリケーションで定期的なイベントをモデル化するための最良の方法は何ですか?[解決済み]

2022-04-03 09:33:57

質問

私は、繰り返し行われるイベントをサポートする必要があるグループカレンダーアプリケーションを構築していますが、これらのイベントを処理するために思いついたすべてのソリューションは、ハックのように思えます。しかし、これらのイベントを処理するために私が思いついたソリューションは、どれもハックしているように見えます。あるいは、イベントを反復処理として保存し、カレンダーで先を見たときに動的に表示することもできますが、誰かがイベントの特定のインスタンスの詳細を変更したい場合、通常のイベントに変換する必要があります。

もっといい方法があると思うのですが、まだ見つかっていません。特定のイベントインスタンスの詳細を変更したり削除したりできるような、繰り返し発生するイベントのモデル化には、どのような方法があるでしょうか?

(私はRubyを使っていますが、回答に制約を与えないでください。Ruby専用のライブラリとかがあれば、それはそれでいいんですけどね)

どのように解決するのですか?

私は、今後のすべての定期的なイベントに「リンク」の概念を使用します。これらはカレンダーに動的に表示され、1つの参照オブジェクトにリンクされます。イベントが開催されると、リンクは解除され、イベントはスタンドアロンのインスタンスになります。繰り返されるイベントを編集しようとすると、将来のすべての項目を変更する(つまり、リンクされた単一の参照を変更する)か、そのインスタンスだけを変更する(この場合、これをスタンドアロンインスタンスに変換してから変更する)よう促されます。後者の場合、単一インスタンスに変換されたすべての将来のイベントを定期的なリストで追跡する必要があるため、少し問題があります。しかし、これは完全に実行可能です。

要するに、シングルインスタンスと定期的なイベントの2つのクラスがあるわけです。