1.静态代理设计模式
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。
代理模式说白了就是“真实对象”的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多重用途。
/**
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。
*/
public class ProxyDemo{
public static void main(String[] args){
Person p = new Person("小白");
//创建代理对象
Matchmaker m = new Matchmaker(p);
m.miai();//相亲
}
}
/**
主题接口
*/
interface Subject{
public void miai();
}
/**
被代理类
*/
class Person implements Subject{
private String name;
public Person(String name){
this.name = name;
}
public void miai(){
System.out.println(name+"正在相亲中...");
}
}
/**
代理类
*/
class Matchmaker implements Subject{
private Subject target;//要代理的目标对象
public Matchmaker(Subject target){
this.target = target;
}
//相亲之前要做的事情
private void before(){
System.out.println("为代理人匹配如意郎君");
}
//相亲之后要做的事情
private void after(){
System.out.println("本次相亲结束.");
}
//相亲方法
public void miai(){
before();
//真正执行相亲方法
target.miai();
after();
}
}