C++ モジュールを設計しています。このモジュールは、Request-A、Request-B、Request-C の 3 種類のリクエストを受け取ることができます。
各タイプに対応するハンドラー クラスがあります: RequestHandler-A、RequestHandler-B、および RequestHandler-C (これらはすべて IRequestHandler インターフェイスを実装します)。
各ハンドラーは、その要求を満たすために特定のアクションを実行する必要があります。
たとえば、RequestHandler-A はこれらを順番に実行する必要があります。
Action-1
Action-2
Action-3
Action-4
Action-5
RequestHandler-B はこれらを順番に実行する必要があります:
アクション-1
アクション-3
アクション-5
RequestHandler-C はこれらを順番に実行する必要があります:
Action-4
Action-5
1 つのアクションの結果は、次のアクションで使用されます。
一般的なアクションの実装がハンドラー間で再利用されるように、これらのクラスを設計するのに苦労しています。ここに適用できる設計パターンはありますか? 多分 Template メソッドのパターンが可能性があるかもしれませんが、私にはわかりません。どんな提案でも大歓迎です。
PS: より興味深いものにするために、Action-2 が失敗した場合、別のデータで再試行する必要があるという要件もあります。しかし、私は先のことを考えすぎているのかもしれません。