小白理解代理模式
代理模式,作为软件编程中的设计模式,是非常重要和实用的。作为一种思想,代理模式理解起来还是有一定的困难的(对于楼主)。经过一段时间的摸索和思考,我自己总结了一个最通俗的理解方式(可能别人也是这么理解的,但是楼主没有参考他们的)。
1.果汁厂商:一般生产商卖东西有两种模式,直营和代理。直营就是厂商直接卖果汁个客户(没有中间商赚差价,哈哈哈)。代理,厂商先把果汁卖个中间商(代理商),比如卖2元一瓶,代理商再将果汁卖个客户,卖3元,中间商赚了1元的差价,但这不是重点,理解中间商所处的位置,中间商就是替果汁厂商卖果汁的,这也不是重点。重点是:客户想买果汁,可以从厂商哪里直接买,也可以从中间商哪里买。
2.代理商:替果汁厂商卖果汁。此处重点理解:卖果汁,这是个行为,即方法!!!代理商卖果汁实际就是替果汁厂商卖果汁,不管是代理商卖果汁,还是果汁厂商卖果汁,本质都是果汁厂商卖果汁!!!!!(这块有点绕,不理解的,请找个没人的地方,大声喊这句话100遍)。简单理解,代理商卖果汁的方法,就是通知果汁厂商卖果汁。那么代理商怎么通知果汁厂商卖果汁?你得通知果汁厂商的人吧,那就是果汁厂商的销售(对象)。到这就好理解了,代理商内部有果汁厂商的销售(对象),当代理商卖果汁时,就是通知果汁厂商的销售(对象)去卖果汁。代理商有时候不可能直接就通知果汁厂商的销售(对象)卖果汁,有可能做点其他的事情吧,比如压价,争取从果汁厂商哪里以更低的价格去拿果汁,这就是其他事情。
上面的介绍,小白可以多理解一下,下面是最简单的代理代码:
/**
* @ClassName:JuiceProducer
* @Description:果汁生产商
* @author:ZhangMingYin
* @date:19/3/13 下午 10:51
* @Version:v1.0.0
*/
public class JuiceProducer {
public void sellJuice(){//这是卖果汁的本质,果汁生产商直接卖果汁。
System.out.println("果汁生产商卖果汁......");
}
}
/**
* @ClassName:JuiceProxy
* @Description:代理商替果汁生产商卖果汁
* @author:ZhangMingYin
* @date:19/3/13 下午 10:52
* @Version:v1.0.0
*/
public class JuiceProxy {
private JuiceProducer juiceProducer = new JuiceProducer();//果汁生产商的销售
public void sellJuice(){//代理商卖果汁的本质,就是果汁生产商卖果汁,但是代理商在中间赚差价
System.out.println("压价,以更低价格拿果汁......,代理商赚了更多的钱!!!");//赚取更多的差价
juiceProducer.sellJuice();//卖果汁的本质,果汁生产商卖果汁
}
public static void main(String[] args) {
JuiceProxy juiceProxy = new JuiceProxy();
juiceProxy.sellJuice();
}
}
压价,以更低价格拿果汁......,代理商赚了更多的钱!!!
果汁生产商卖果汁......
现在应该理解最简单的代理思想了吧!!!!!!!!!!!!!!!!!
未完待续......