一、代理模式
一个类代表另一个类去完成扩展功能,在主体类的基础上,新增一个代理类,扩展主体类功能,不影响主体,完成额外功能。比如买车票,可以去代理点买,不用去火车站,主要包括静态代理和动态代理两种模式。
代理类中包含了主体类
二、静态代理
无法根据业务扩展,每一次都要根据主体类,创建一个代理,如果多个主体类,就要多个代理。
创建一个接口
public interface Image { void display(); }
创建实现接口的实体类。
public class RealImage implements Image { private String fileName; public RealImage(String fileName){ this.fileName = fileName; loadFromDisk(fileName); } @Override public void display() { System.out.println("Displaying " + fileName); } private void load