設計
現在、2つのオプションがあります
チャットサービスがメッセージを配信する際、バックアップの有無に関する情報も一緒に配信する
チャットサービスは特別な処理を行わず、バックアップサービスがアバター作成ファクトリーからイメージ情報を能動的に取得し、バックアップが有効になっているかどうかを判断する
拡張機能は一切必要ないという場合、2つのソリューションにはそれぞれ長所と短所があります。
利点 | 1. データの整合性が良好:データが処理を必要としているかどうかが明確 | 1. 独立性:他のサービスに依存することなく、独自に処理が実行される |
不利な点 | 1. 変更の認識:チャットサービスは、この機能を認識する必要があります。機能が変更された場合、同期して変更する必要があります | 1. 一貫性の問題:イメージ情報がリアルタイムで取得できたとしても、境界の問題が残ります。 2. 境界の問題を解決したい場合、イメージ設計工場はバージョンを行う必要があり、バックアップサービスが照会すると、時間に応じて指定されたバージョンの情報を検索し、ロジックははるかに複雑になります。 |
では、少し展開してみましょう。チャットアプリが各ユーザーが独立してスイッチを制御できると考えている場合、プラン2は完全に使用できません。 バックアップサービスでは、ユーザー設定を取得することはできません。 |
そのため、メッセージにマーキングする情報を入れておくのが良いでしょう。変更を意識させる問題については、チャットサービスが仕様を調整し、新しい機能を追加する場合でも既存の機能を変更する場合でも、チャットサービスがそれを意識することなく、自動的に処理するようにすることができます。
まとめ
実際、この作品には興味深いデザイン上のポイントが数多くあります。よく考えてみると、多くの新しいアイデアを見つけ、ビジネスに対する理解を深めることができます。