代理模式是设计模式的一种。代理模式就是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
代理模式的优缺点:
优点: 1、职责清晰。 2、高扩展性。 3、智能化。
缺点: 1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。 2、实现代理模式需要额外的工作,有些代理模式的实现非常复杂。
代理模式有静态代理和动态代理两种模式。
静态代理模式的实现方式,是通过实现共同接口来实现的。静态代理的实现步骤如下:
1.创建一个接口。
2.创建实现接口的实体类。
3..创建实现接口的代理类。
4.当被请求时,可以通过代理类来获得实体类的对象
5.最终,代理类可以实现通过方法调用从而完成本体类不愿意完成的内容。
代码如下:
public interface A {
void display();
}
public class RealImage implements A {
private String fileName;
public RealImage(String fileName){
this.fileName = fileName;
loadFromDisk(fileName);
}
@Override
public void display() {
System