设计模式-代理模式
1.概述
代理模式为另一个对象提供一个替身,以控制对这个对象的访问。
2.类图
3.角色
- Subject:真实对象和代理对象的公共接口。
- RealSubject:上述接口的实现对象。
- Proxy:对Subject对象的代理对象。
4.实现
1.Subject
public interface Subject {
void Do();
}
2.RealSubject
public class RealSubject implements Subject{
public void Do() {
System.out.println("真实的行为");
}
}
3.Proxy
public class Proxy implements Subject{
Subject subject;
public Proxy(Subject subject) {
this.subject = subject;
}
public void Do() {
System.out.println("代理方法前");
subject.Do();
System.out.println("代理方法后");
}
}
4.Main
public class Main {
public static void main(String[] args) {
Subject realsubject = new RealSubject();
Subject Proxy = new Proxy(realsubject);
Proxy.Do();
}
}
结果: