0

リアルタイム フィードを開発しようとしていますが、ジレンマに陥っています。ユーザーをサブジェクトとする標準イベントがあります-

  • Personactionになりました。[たとえば、「ジョンスティーブとつながりました」。]

このイベントは、自分がフォローしている人が何かをしたときに発生します。

さらに、ユーザー以外のオブジェクト、「プロダクション」に依存するイベントもあります -

  • プロダクションアクションになりました[たとえば、タイタニックのクレジットにはケイト・ウィンスレットが含まれるようになりました.

つまり、ユーザーは他の 1) ユーザーまたは 2) 作品をフォローできます。ただし、この 2 つのイベントは互いに衝突する可能性があります。次の例を考えてみましょう。

1)

  • David はユーザー Steve をフォローしていません。
  • デビッドはタイタニックの制作をフォローしています
  • Titanic には、ユーザー Steve が関与する新しいイベントがあります。
  • デビッドはスティーブではなくタイタニックをフォローしているため、デビッドのフィードには
    タイタニックのクレジットにスティーブが含まれるようになりました」のようなメッセージが表示されます。
  • ここで、David が Steve をフォローし始めます。上記の文法は機能しますが、次の場合を想定します。

2)

  • デビッドは現在スティーブをフォローしていますが、タイタニックはフォローしていません。
  • スティーブはタイタニックの制作に参加します。
    デビッドのフィードでは、 「スティーブはタイタニックのプロダクションに参加しました」などと言うでしょう。
  • ここで、デビッドはタイタニック号を追跡し始めます。上記の文法は機能しますが、イベントの順序に基づいて 1) と矛盾します。

これが、Facebook/LinkedIn のようなサイトがイベントの対象として常に単一の一貫したオブジェクト (この場合はユーザー) を持っている理由のようです。

ユーザーとプロダクションの両方を持つことは可能でしょうか? もっと難しいことはわかっていますが、どうすればそれを行うことができますか?

4

1 に答える 1

0

ユーザーとプロダクションの両方を持つことは可能でしょうか?

いくつかの方法:

  • データベース:(実行中かどうかにかかわらず)ステータスフラグを設定またはクリアします
  • Python:ステータスフラグを使用した多重継承または委任を使用した合成の使用
  • Java:委任による構成

問題について考える別の方法は、役割指向のプログラミング手法を使用することです。

于 2012-05-05T23:32:55.653 に答える