ミートアップのホームページでは、ページの右側に最近のミートアップに関する情報が表示されます。そのような出力を実装するために、どのようなデザイン パターン/ツール (優先 Java ベース) を使用しますか?
1 に答える
0
いくつかの異なるアプローチがあり、どのアプローチを使用するかは、ビジネス プロセスの複雑さ、必要な柔軟性の程度、負荷など、いくつかの要因によって異なります。
シンプルなソリューション
- 「RSVP Updates」は、「RSVP」プロセス中に何らかのデータ ソースに直接書き込まれます。このプロセスは基本的にハードコーディングされています。
- 彼らが住んでいるデータソース/テーブルから直接RSVPを読み取るものを用意してください。
- 負荷とデータ量が過剰な場合は、このソリューションで問題ありません。重要な点は、RSVP UI ウィジェットは、更新が書き込まれる場所と同じデータ ソースからデータを引き出すことになるということです。
パフォーマンス
出発点として上記に基づいたいくつかの異なるオプション:
- データを 2 回保持します。1 回目は RSVP データの「マスター」(トランザクション) テーブルで、もう 1 回は UI のサービス用に作成されたテーブルで (基本的にOLTPとOLAP )。2 番目のテーブルには関連するすべてのデータが含まれているため、他のテーブルへのルックアップはありません。データの独立したコピーであるため、必要に応じて別の方法で管理できます (たとえば、古いレコードを削除してテーブルを削除するなど)。サイズは小さく保たれています)。
- または、2 番目のテーブルの代わりに、すべてのデータをメモリに保持します。これにより、メモリ内のコピーが失われるたびに、メインのトランザクション テーブルからデータを引き出す必要があります。
柔軟性
- 元のアプローチと同じですが、RSVP を (単一のデータ ソースに) 記録するステップでハードコーディングする代わりに、より疎結合のアプローチを使用して、必要な数のイベント プロセッサを追加/変更/削除できるようにします。1 つは RSVP データをメインの RSVP データ ソースに書き込み、もう 1 つは同じ/類似の処理を行いますが、「最近の RSVP」UI ウィジェット用に集約されます。
- 依存性注入は柔軟性を提供します - 確かに、イベント ハンドラーの単一の実装を扱う場合。
- Publish / Subscribe または Chain of Responsibility のパターンは、アプローチの基礎となる可能性があります。
それはあなたが求めていたような情報ですか?
于 2011-08-15T00:47:44.167 に答える