1 静态代理
有些时候,我们想做一些事但是自己没有资源或者自己做不好,就会想着花点钱请专业的人帮我们做。这是一种代理模式。比如我们要买车,都会去4S店,让他们帮我们办理繁琐的手续。抽象成代码如下:
买车的行为抽象成接口Something:
public interface Something {
void buyCar();
}
买车的人Person类:
public class Person implements Something {
private String name;
public Person(String name){
this.name = name;
}
@Override
public void buyCar() {
System.out.println(name + "是用户,要买车...");
}
}
实现Something接口,表明要买车。
代理用户买车的4S店Agent类:
public class Agent implements Something {
List<Person> personList;
public Agent(List<Person> personList){
this.personList = personList;
}
@Override
public void buyCar() {
System.out.println("我是中介,我可以帮助用户购车...");
for (Person person : personList) {
person.buyCar();
}
System.out.println("我是中介,买车流程结束...");
}
}
代理类也实现接口Something。</