代理模式:为其他对象提供一种代理以控制对这个对象的访问。
静态代理的关键:代理类(SubjectProxy)实现被代理类的接口(ISubject)。
类结构
1 +-------------+
2 | |
3 | ISubject interface
4 | |
5 +-^---------^-+
6 | |
7 implement |implement
8 | |
9 | |
10+--------------+-+ ++--------------+
11| | | |
12| SubjectProxy | | Subject |
13+----------------+ +---------------+
代码
1public interface ISubject {
2 void request();
3}
1public class Subject implements ISubject {
2 @Override
3 public void request() {
4 System.out.println("Subject的request方法执行了.");
5 }
6}
1public class SubjectProxy implements ISubject {
2 private ISubject subject = new Subject();
3
4 @Override
5 public void request() {
6 System.out.println("代理类SubjectProxy的request方法执行了.");
7 subject.request();
8 }
9}
1public class Main {
2 public static void main(String[] args) {
3 SubjectProxy subjectProxy = new SubjectProxy();
4 subjectProxy.request();
5
6 }
7}