私は最近、デザインパターンの調査を開始しましたが、コーディングしていることの1つは、小さな違いを除いて、戦略パターンに完全に適合します。
基本的に、私のアルゴリズムの一部(すべてではない)には、追加のパラメーターまたは2つを渡す必要があります。
だから私はどちらかをする必要があります
- 計算メソッドを呼び出すときに追加のパラメーターを渡します
または
- それらをConcreteAlgorithmクラス内の変数として保存し、アルゴリズムを呼び出す前にそれらを更新できるようにします。
このニーズに合ったデザインパターンはありますか/戦略パターンにこだわってこれを実装するにはどうすればよいですか?
クライアントオブジェクトをすべてのアルゴリズムに渡し、変数をそこに格納し、特定のアルゴリズムで必要な場合にのみ使用することを検討しました。しかし、これは扱いにくく、戦略パターンのポイントを打ち負かすと思います。
明確にするために、私はJavaで実装しているので、オプションのパラメーター(これをうまく解決できる)の贅沢はありません。