代理模式:即通过代理对象来执行被代理的对象。
代理对象拥有被代理对象的全部功能。
具体代码如下:
package com.mkf.pattern;
public interface InterfaceOne {
public void operation();
}
package com.mkf.pattern.impl;
import com.mkf.pattern.InterfaceOne;
public class Source implements InterfaceOne {
@Override
public void operation() {
System.out.println("源方法被调用" + Source.class.getName());
}
}
package com.mkf.pattern.impl;
import com.mkf.pattern.InterfaceOne;
public class Proxy implements InterfaceOne {
private Source source;
public Proxy(){
super();
this.source = new Source();
}
@Override
public void operation() {
System.out.println("代理被调用:" + Proxy.class.getName());
source.operation();
}
}
package com.mkf;
import com.mkf.pattern.InterfaceOne;
import com.mkf.pattern.impl.Proxy;
public class TestProxy {
public static void main(String[] args) {
InterfaceOne io = new Proxy();
io.operation();
}
}
执行结果为:
代理被调用:com.mkf.pattern.impl.Proxy
源方法被调用com.mkf.pattern.impl.Source