當談到設計模式時,我是一個初學者。任何想法實施戰略模式/像這樣:具有默認策略的策略模式
public class SomeClass { private Strategy strategy = new DefaultStrategy(); public void provideCustomStrategy(Strategy strategy) { this.strategy = strategy; } }
這將確保鬆散耦合和戰略模式和DI的所有其他好處。同時,你不會強迫用戶提供策略,並且用戶可以決定爲角落案例提供自定義策略等。如果您爲構造函數提供策略,則可以通過構造器注入實現相同的目標-參數。我認爲這個實施將在很多情況下提供最大的靈活性。
相關:http://stackoverflow.com/questions/6733667/is-there-an-alternative-to-bastard-injection-aka-poor-mans-injection-via-defau –
謝謝!該帖子清除了一切! –