/*
静态代理:可以直接通过代理的对象对被代理的对象进行操作
*/
public class StaticProxy {
public static void main(String[] args) {
Company company = new Company(new You());//最后只需将我传给婚庆公司即可
company.happyMarry();
}
}
//先是一个接口,代理和被代理的都实现此接口
//婚庆公司和我都要实现此接口
interface Marry{
void happyMarry();
}
//真实的我 我只用负责结婚
class You implements Marry{
@Override
public void happyMarry() {
System.out.println("i am marry");
}
}
//代理公司 处理各种结婚事宜
class Company implements Marry{
private Marry target;//目标对象
public Company(Marry target) {//构造方法
this.target = target;
}
@Override
public void happyMarry() {
before();
target.happyMarry();
after();
}
private void after() {
System.out.println("after marry,do...");
}
private void before() {
System.out.println("before marry,do...");
}
}
设计模式(1)——静态代理
最新推荐文章于 2024-03-05 19:32:43 发布