import java.util.ArrayList; import java.util.List; public class StrategyFactory2 { private final List strategies = new ArrayList<>(); public void registerStrategy(CrawlStrategy2 strategy) { strategies.add(strategy); } public CrawlStrategy2 getMatchStrategy(String url) { for (CrawlStrategy2 s : strategies) { if (s.supports(url)) return s; } return null; } }