多线程-静态代理模式

如:

  你:真实角色

  写手:代理你,帮你写作业

  作业:实现写手接口即可 
复制代码
/*静态代理模式总结:
    1.真实对象和代理对象都要实现同一个接口
    2.代理对象要代理真实角色,所以代理对象要有一个真实对象类型的属性
好处:代理对象可以做很多真实对象做不了的事情
      真实对象专注做自己的事情
*/
public class Main{
    public static void main(String[] args) {
    
    //创建代理对象
    WeddingCompany weddingCompany=new WeddingCompany(new You());//new You():目标对象
    weddingCompany.HappyMarry();
    
    }
}
//接口
interface Marry{
    void HappyMarry();
}
//真实角色:实现接口
class You implements Marry{
    
    public void HappyMarry(){
        System.out.println("x结婚了");
    }
    
}

//代理角色
class WeddingCompany implements Marry{
    //创建真实角色对象属性 代理谁---》真实目标角色
    private Marry target;
    
    public WeddingCompany(Marry target){
        this.target=target;
        
    }
    public void HappyMarry(){
        before();
        this.target.HappyMarry();//这就是真实对象
        after();
    }
    
    //后面做的事情
    public void after(){
        System.out.println("之后收尾");
        
    }
    
    //前面做的事情
    public void before(){
         System.out.println("之前布置现场");
    }
}
复制代码

 

posted @   hollg  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示