自己需要做的事,叫别人去帮你做的更好(加料)
比如:你要结婚,找一个公司代理结婚,结婚的人还是你,但是前后增加了好事,布置炫酷的现场,收尾款等
这里用结婚流程来说
模拟结婚代理
/**
* @function 静态代理模式
* @class StaticProxy 启动代理
* Marry 结婚接口
* You 结婚对象
* WeddingCompany 公司代理对象
*/
public class StaticProxy {
public static void main(String[] args) {
//Thread 也是一个代理类 接口Runnable
new Thread( ()-> System.out.println("I love dudu")).start();
// 和线程对比
WeddingCompany weddingCompany = new WeddingCompany(new You());
weddingCompany.HappyMarry();
}
}
interface Marry{
// 人间四大喜事
// 久旱逢甘露
// 他乡遇故知
// 洞房花烛夜
// 金榜题名时
void HappyMarry();
}
//结婚接口
class You implements Marry{
@Override
public void HappyMarry() {
System.out.println("钢镚核恒要结婚了!");
}
}
//公司代理
class WeddingCompany implements Marry {
private Marry target;
public WeddingCompany(Marry target) {
this.target = target;
}
@Override
public void HappyMarry() {
before();
this.target.HappyMarry(); //调用的是传入的代理对象本身
after();
}
private void before() {
System.out.println("结婚之前,布置现场");
}
private void after() {
System.out.println("结婚之后,收尾款");
}
}
用同样的接口 把你要做的事情 加上大餐 的包装起来使用,更加舒服,省去烦恼,坐等安排。
原文:https://www.cnblogs.com/gbhh/p/13768073.html