代理部分抽象

代理模式里面必须要知道的事情

帅比萌擦擦* 提交于 2019-12-01 00:59:20
代理模式里面必须要知道的事情 代理模式的 UML: // 抽象出需要代理的功能 public interface Printable { public abstract void setPrinterName(String name); public abstract String getPrinterName(); public abstract void print(String str); } // 代理模式的核心思想就是用的时候再创建,很多框架的拦截器实现就是动态代理的实现,有机会会补充 public class PrinterProxy implements Printable{ private String name; private Printer real; public PrinterProxy(String name){ this.name=name; } //多线程的问题 @Override public synchronized void setPrinterName(String name) { if(real!=null){ real.setPrinterName(name); } this.name=name; } @Override public String getPrinterName() { return name; } @Override