package com.example.moviecli.strategy; import java.util.ArrayList; import java.util.List; public class MovieStrategyFactory { private final List strategies = new ArrayList<>(); public MovieStrategyFactory() { strategies.add(new DoubanTop250Strategy()); strategies.add(new SinaNewsStrategy()); // 新增 strategies.add(new DoubanBookStrategy()); } public MovieCrawlStrategy getStrategy(String url) { for (MovieCrawlStrategy s : strategies) { if (s.supports(url)) return s; } return null; } public void register(MovieCrawlStrategy strategy) { strategies.add(strategy); } }