一、代理模式
代理模式属于结构性模式,是一个类代表另外一个类的功能。
代理模式将创建具有现有对象的对象,以便向外界提供功能接口。
使用背景:
解决在直接访问对象时带来的问题,在访问一个雷时做一些控制。如window的快捷方式
二、简单代理模式实例
创建接口,创建实现接口的实体类RealDrawing作为真实类,ProxyDrawing作为代理类。浏览Drawing时,第一次从安全库中取出,以后的人可以直接观看。
2.1 创建接口
package com.cf.proxy.pattern.demo;
public interface Drawing {
void showDrawing();
}
2.2 真实画作类
package com.cf.proxy.pattern.demo;
public class RealDrawing implements Drawing{
private String DrawingName;
public RealDrawing(String DrawingName) {
this.DrawingName = DrawingName;
pickDrawing(DrawingName);
}
private void pickDrawing(String drawingName) {
System.out.println("从安全库中取出"+drawingName);
}
@Override
public void showDrawing() {
System.out.println("展示画作:" + DrawingName);