设计模式-代理模式

使用场景

代理模式:给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
设计模式-代理模式

代码例子

接口

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();
}
}