私は Strategy Design Pattern を使用して 2 つの異なる具体的な戦略を実装しています。これが戦略設計パターンの利点を「壊す」のでしょうか、それとも違いがあるのでしょうか? 抽象クラスに戦略インターフェースを実装させ、2 つの戦略をその抽象クラスから継承させるなど、これを行うためのより良い方法はありますか?
この質問を別の方法で見ると、次のようになります。戦略デザイン パターンの利点は、他の戦略に影響を与えることなく、さまざまな戦略を追加および削除できるという事実に由来しますか? もしそうなら、コードをより複雑な具体的な戦略にコピーする必要がありますか?
私の特定のケースでは、2 つの異なるエッセイ ソーター戦略を実装しています。
1 つ目は、特定のキーワードとの類似性に基づいてすべてのエッセイを並べ替えます。
2 番目の戦略では、最初にすべての著者を並べ替えます。次に、最初の具体的な戦略を呼び出して、各著者のエッセイをキーワードとの類似性に基づいて並べ替えます。
これは適切な設計ですか?