代理模式

①接口
package j;
//接口描述了对外提供的功能
public interface Subject {
//代理对象对外宣传的功能
void work();
}
②目标对象
package j;
//目标对象
public class RealSubject implements Subject {
//实际的工作
public void work() {
System.out.println("拍摄广告");
}
}
③代理对象
package j;
//代理对象,它将实际工作委托给目标对象完成
public class Proxy implements Subject {
//代理对象持有对目标对象的引用
private Subject subject;
public Proxy(Subject subject) {
super();
this.subject = subject;
}
//周边工作
public void work() {
System.out.println("谈合同");
//将实际工作委托给目标对象完成
subject.work();
//完成后置工作
System.out.println("付款问题");
}
}
④执行
package j;
public class day1404 {
public static void main(String[] args) {
//创建目标对象
RealSubject realsubject =new RealSubject();
//创建代理对象
Proxy proxy =new Proxy(realsubject);
//代理完成工作
proxy.work();
}
}
⑤补充:

本文详细介绍了代理模式的概念,通过具体的Java代码实现展示了代理模式的应用。包括接口定义、目标对象实现、代理对象实现及执行流程,解释了如何通过代理模式在目标对象执行前后添加额外功能。

被折叠的 条评论
为什么被折叠?



