其他分享
首页 > 其他分享> > 23种设计模式之静态代理模式

23种设计模式之静态代理模式

作者:互联网

//23种设计模式之静态代理模式。
// 运用领域(线程创建的时候, Thread实现了Runnable接口 new Thread(真实目标对象).start() )
// 类比(你要结婚,举办婚礼得时候 婚庆公司 实现了 结婚的接口 new WeddingCompany(真实要结婚的对象).HappyMarry() )
// 比如你要结婚了,你只需要做结婚这件事情,婚庆公司帮你做 选饭店,布置现场,收尾款,订衣服,约朋友,主持婚礼,而你只需要做 结婚 这件事,其他事情 不用管

public class StaticProxy {

public static void main(String[] args) {
You you =new You();
WeddingCompany company=new WeddingCompany(you);
company.HappyMarry();
}
}



//结婚接口
interface Marry{
void HappyMarry();
}

//真实角色: you 你 去结婚
class You implements Marry{
@Override
public void HappyMarry() {
System.out.println("鲁迅要结婚了,很开心");
}

}

//代理角色: 婚庆公司:WeddingCompany
class WeddingCompany implements Marry{

//目标对象,真实要结婚的人
private Marry target;

public WeddingCompany(Marry target) {
this.target = target;
}

@Override
public void HappyMarry() {
before();
target.HappyMarry();
after();
}

private void before() {
System.out.println("结婚之前,布置现场");
}

private void after() {
System.out.println("结婚之后,收尾款");
}
}

//输出结果

标签:结婚,23,静态,void,public,WeddingCompany,HappyMarry,设计模式,Marry
来源: https://www.cnblogs.com/whs123/p/14732396.html