设计模式-代理模式(初级)

小白理解代理模式

代理模式,作为软件编程中的设计模式,是非常重要和实用的。作为一种思想,代理模式理解起来还是有一定的困难的(对于楼主)。经过一段时间的摸索和思考,我自己总结了一个最通俗的理解方式(可能别人也是这么理解的,但是楼主没有参考他们的)。

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();
  }
}

压价,以更低价格拿果汁......,代理商赚了更多的钱!!!
果汁生产商卖果汁......

现在应该理解最简单的代理思想了吧!!!!!!!!!!!!!!!!!

 

 

未完待续......

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值