ユースケースコントローラをWFで作成してみる(2)

ワークフローとその他のコンポーネントの関係および実装イメージが分かりやすいようにシーケンス図を記述。
アクターから「オーダユースケースコントローラ」に入ってくるのがシステム・サービスになる。ユースケースの処理シーケンスは「オーダユースケースワークフロー」としてWFを用いて実装し、オーダから請求までのエンティティがドメインモデルとして実装することになる。



このシーケンスを見ると、アプリケーションロジックが、サービスの内側にあることが分かる。通常この処理は画面や画面コントローラで記述されるものではあるが、ユースケースコントローラ側に移動させることで画面処理が本来の画面入出力に集中させることができ、さらに、アプリケーションフローを画面に依存しないものにできる。この結果、プログラムの責務が適切に分離され安定し、またプログラムの複雑さをコントロールしやすくなるメリットが出てくる。