package com.example.datacollect.strategy; import java.util.ArrayList; import java.util.List; public class StrategyFactory { private final List strategies = new ArrayList<>(); public StrategyFactory() { strategies.add(new HnuNewsStrategy()); strategies.add(new BlogStrategy()); strategies.add(new NewsStrategy()); strategies.add(new HnuNoticeStrategy()); } public CrawlStrategy getStrategy(String url) { for (CrawlStrategy s : strategies) { if (s.supports(url)) { return s; } } return null; } public void register(CrawlStrategy strategy) { strategies.add(strategy); } }