浅谈我对静态代理模式的理解

	很浅的理解,希望大家抱着看看就好的心态来读这篇博文

刚刚学到多线程,创建多线程的一种方式是 实现Runnable接口,重写run方法,然后把实现接口的类对象给Thread 类包装,其实这是一种静态代理模式。
静态代理设计模式,
静态代理模式设计的思想是,让一个代理角色去做真实角色要做的事,真实的角色就可以去做其他的事情,但是本质上只是代理,最终受影响的还是真实角色

打个比方,比如我要买东西,但是我现在有事,走不开,我就找人帮忙代理我去买东西,虽然东西是代理人买的,但是最终这个东西还是给我的
这个事件的关键在于,我是真正买东西的人,而代理人只是个帮忙的,东西最后还是要给我

最后回归到Thread和Runnable上: 把 Thread 看作代理人,Runnable看作是真实的买东西的人,run方法就是我们的目的,Thread替我们完成了目的

			//Thread类是实现了Runnable接口的
interface Buy{          //买东西接口
    public abstract void buy();
}
class Myself implements Buy{    //真正买东西的角色 : 我
    public void buy()
    {
        System.out.println("我: 东西收到了,谢谢!");
    }
}
class Other implements Buy{		//代理角色
	    private Myself myself;     //最终是我拿到东西,所以肯定要有我
        public Other(){}
        public Other(Buy my)
        {
            this.myself = (Myself)my;	
        }
        public void buying(){
            System.out.println("代理人: 你托我买的东西,我买了!");
        }
        public void buy() {
            buying();
            myself.buy();
        }
}
public class StaticProxy {		
        public static void main(String[] args)	//主函数
        {
            Myself my = new Myself();           //真实买东西的人
            Other ot  = new Other(my);	//代理人	
            ot.buy();			//代理人买东西,最终受影响的是我
        }
}

运行结果:

代理人: 你托我买的东西,我买了!
我: 东西收到了,谢谢!

Process finished with exit code 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值