设计模式-代理模式
使用场景
代理模式:给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
代码例子
接口
public interface Sourceable {
void method();
}
实现类
public class Source implements Sourceable{
@Override
public void method() {
System.out.println("the original method!");
}
}
代理
public class Proxy implements Sourceable {
private Source source;
public Proxy() {
super();
this.source = new Source();
}
@Override
public void method() {
before();
source.method();
atfer();
}
private void atfer() {
System.out.println("after proxy!");
}
private void before() {
System.out.println("before proxy!");
}
}
main函数
public class Test {
public static void main(String[] args) {
Sourceable source = new Proxy();
source.method();
}
}