Java设计模式之代理模式
标签(空格分隔): Java设计模式
前言
代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理对象是目标对象和客户(需要使用目标对象的对象)之间的沟通桥梁。如果客户不想直接跟目标对象沟通,那么代理模式很适用这个场景。
public interface IOrigin {
void exe();
}
首先我们创建个接口,让目标类跟代理类都实现该接口
public class Origin implements IOrigin {
public void exe() {
System.out.println("my name is origin...");
}
}
其次创建目标类,这个是真正跟客户发生关系
public class Proxy implements IOrigin {
private IOrigin origin;
public Proxy() {
}
public void setOrigin(IOrigin origin) {
this.origin = origin;
}
public Proxy(IOrigin origin) {
this.origin = origin;
}
@Override
public void exe() {
if (origin == null) {
// or this.origin = new Origin();
throw new RuntimeException("please set real origin");
}
origin.exe();
}
}
代理类,是通过外部传入目标实例,你也可以代理类自己去实例化目标类;