题目
介绍下代理模式
答案
代理模式(Proxy Pattern)为其他对象提供一个代理以控制对其访问。 适用场景: - 控制访问权限。 - 延迟加载、日志、权限检查等。 示例:上网代理 ```java interface Internet { void connect(String site); } class RealInternet implements Internet { public void connect(String site) { System.out.println("Connecting to " + site); } } // 代理类 class ProxyInternet implements Internet { private RealInternet internet = new RealInternet(); private static final java.util.List<String> bannedSites = java.util.Arrays.asList("abc.com", "xyz.com"); public void connect(String site) { if (bannedSites.contains(site)) { System.out.println("Access Denied to " + site); } else { internet.connect(site); } } } // 测试 public class ProxyTest { public static void main(String[] args) { Internet internet = new ProxyInternet(); internet.connect("openai.com"); internet.connect("abc.com"); } } ```