代理模式:
实现与被代理类组合,为了加以控制,区别于装饰器的增加功能
1.定义抽象接口
2.定义具体类实现抽象接口
3.定义代理类实现抽象接口,内部有具体类成员变量
4.客户端通过对代理类的访问,实现对具体类的真实操作
1.定义抽象接口
public interface Picture {
public abstract void display();
}
2.定义具体类实现抽象接口
class RealPicture implements Picture{
private String fileName;
public RealPicture(String fileName) {
this.fileName = fileName;
}
@Override
public void display() {
System.out.println("Display real picture");
}
}
3.定义代理类实现抽象接口,内部有具体类成员变量
class ProxyPicture implements Picture{
private RealPicture realPicture;
public ProxyPicture(String fileName) {
realPicture = new RealPicture(fileName);
}
@Override
public void display() {
System.out.println("at proxy");
realPicture.display();
}
}
4.客户端通过对代理类的访问,实现对具体类的真实操作
public static void main(String[] args) {
Picture picture = new ProxyPicture("aaaa");
picture.display();
}
代理模式
最新推荐文章于 2024-07-05 23:58:56 发布