web-dev-qa-db-ja.com

シーケンス図:WebSocketの作成を明示的に示しますか?

私のWebクライアントがWebSocket接続を介してバックエンドとどのように相互作用するかを示すシーケンス図を作成しようとしています。

ストリーム接続を管理するためにwebsocketミドルウェアを使用しています。

この場合のシーケンス図のベストプラクティスは何ですか?ストリームの作成を含める必要がありますか?または、単に低レベルの情報が多すぎます。

enter image description here

1
Anthony Kong

図はyourの目的に適合している必要があります。したがって、「ベスト」プラクティスは、意図と焦点に依存します。

  • コアクラスの責任を示すのは高レベルの設計モデルですか?次に、GamerGameServiceの間の中心的な相互作用に焦点を当てます。

  • 複雑な通信層を実装するための詳細な設計ですか?次に、インタラクションに積極的に関与しているすべてのオブジェクトを表示することができます。

  • ささいな低レベルのOSまたはOSのようなサービスは、図を作成する価値がありません。ファイルオブジェクトを追加して、ゲームの結果をディスクに保存したことを示すために表示しますか? GPUオブジェクトを追加して、実際に描画を行っていないことを示しますか?このような詳細レベルは、コードの代わりになることを意図していない図を混乱させるだけです。

_Stream middleware_は最後の箇条書きに属しており、削除できると思います。それでも2番目のケースになる場合は、一貫性があり、ミドルウェアを中央に置き、GameStat update (via stream)を2つのステップで分解する必要があります。これにより、ミドルウェアと_Game service_のそれぞれの責任はあいまいさなしに置かれました。

4
Christophe