私はデザインパターンに関しては初心者です。戦略パターン/このような実装の考え方:デフォルト戦略の戦略パターン
public class SomeClass { private Strategy strategy = new DefaultStrategy(); public void provideCustomStrategy(Strategy strategy) { this.strategy = strategy; } }
このようにすれば、戦略パターンとDIのすべての利点が緩和されます。同時に、ユーザーに戦略を提供するよう強制することはなく、ユーザーはコーナーケースなどのカスタム戦略を提供することもできます。コンストラクターにストラテジーを提供する場合、コンストラクターインジェクションで同じ目標を達成できます-parameter。私はこの実装が多くの場合に最大限の柔軟性を提供すると思います。
関連:http://stackoverflow.com/questions/6733667/is-there-an-alternative-to-bastard-injection-aka-poor-mans-injection-via-defau –
ありがとう!その投稿は物事をクリアしました! –