00:00
好,我们来看。那么先来搞清楚什么是代理模式,这个呀,生活中也比比皆是。啊,不是说我们在编码的这个里面去碰到这么一个概念,其实生活中完全就是这么比比皆是啊代理模式啊代理模式,什么是代理模式,目标对象不可访问,通过代理对象。代理对象增强啊,一定是增强功能访问,如果不增强功能就直接访问目标好了,你访问通过代理就是要增强功能访问,就是这么一个概念啊,我们这有个图特别好来。你看A本来是去访问C,但是拒绝了,不能直接访问,曲线救国A先访问B,然后再访问C,能明白这意思吗?啊,那么这样的话,那么D类就是那个代理类他。
01:00
他既可以跟C打交道,他又可以跟A打交道,他就相当于中间那个桥梁。那我A只能通过你再去联络到C,那你就充当的代理的这么一个功能啊,其实生活中比比皆是都是这么这么一个代理,我们举个生活中的例子啊,看看生活中这个代理出现在什么地方。我们毕业以后可能会去租房,你们租房你们可能如果没有去租过房的话,你们租房不是找房东租啊。房东你很难找得到,你都是去找什么呀?房屋中介,其实房东呢,他是我们的目标对象。冯东就是我们的目标对象。而你我你。你我其实我们就是客户端的对象,我们就是要去找房东,租房东的房。叫客户端的对象,但是我们是不不能直接找房东,人家也不搭理我们是吧,疫情控在美国国内30多套房,你你也找不到他,你也联系不上他怎么办。
02:08
房屋中介啊,哎,房屋中介,当然房屋中介,各种中介,随便你搞哪个中介都行啊,这个中介干的活呢,是房东会将房屋委托给中介。我的30多套房给你,然后一年你给我多少钱,剩下的你再把这30多套房一套套租出去,然后提更高的价格租出去,这就是中介干的活,中介又没有房子。他只是受房东的委托拿到了这些房子而已,所以中介的功能就是那个代理对象。啊,代理对象,那么他可以将房东的房子租给你我哎,他收点中介费。也没办法,必须得认,因为如果我们直接找到房东,他就没饭吃了,但实际上我们是不能直接访问房东的。啊,就是这么个原因,那除了这个之外呢,还有服装生产厂。
03:04
然后这个呢,其实就是我们的那个目标对象,你买衣服知道服装生产厂去买吗。那不能吧,你那么牛吗?你去人家也不搭理你,人家只搭理代理商,对不对?人家只只跟代理商谈一次多少几万件,然后多少号码,从一手号,从S到叉叉叉L全部都要,要有这个号的,这个直接批给他,不然我就不跟你谈那。你我啊还是客户端。但是这个服装生产厂呢,他是客户,这是客户他呢,就是。目标对象,那么谁充当代理对象?谁?呃,门店就比如说李宁,哎,这个安踏吧,现在安踏火的一塌糊涂,早早超过李宁了啊安踏咱们冬奥会的那个服装都是安踏的啊,好,那么比如说安踏的那个门店是有吧,但安踏是不网上某宝上还有什么旗舰店,对吧。
04:10
对,这这些其实都是代理啊。你门店我开个门店去卖我的安踏的服装,鞋子,衣服帽子随便或者是我在某宝上去卖,这些都是。代理对象,因为他自己本身不生产服装,他只是服装的一个经营商,而我们呢,就是找这些,我们只能通过这个门店或者旗舰店去买他的衣服,我们又不能跑到服装生产厂,就算这个厂子在你们家的隔壁,你都买不了他的衣服,对不对?人家不接待散客的。所以就说,诶,这个我知道在哪,就在我们家边上,你也没法去在这买衣服,哎,这个就是目标对象不可访问,只能通过代理对象增强功能访问,就是这么一个套路,这是生活中,那么开发中也是一样的,同学们开发中你经常会遇到这种事儿。
05:06
然后呢?我们自己开发的应用程序。那我们开发的就是看着我们的开发的。应用程序。应用程序,然后需要发送短信啊,需要发送短信诶。需要发送短信的功能。这是我的应用程序需要发送短信的功能,我就是比如说2117的这个这个这个这个这个。公司我们是这么个软件公司,2117,我们写好了一个电商类的项目,客户登录的时候要发短信验证来登录。那我就我立马摇身一变,我就变成那个电信什么运营商嘛,那种什么电信呀,移动呀,什么那个还有什么。电信移动还有什么?
06:01
联通我这我的联通这就不管是哪个运营商。真正的发短信是不是运营商去发啊?那我我直接跟运营商说,或者说我来发这个短信,运营商你别管我,我自己发这个短信,我有那资格吗?我有那资历吗?你没有,我没有,所以呢,我们应用程序需要发送短信的功能,对不起,短信的功能是谁提供的,就是各种运营商啊,你甭管什么运营商。什么电信啊,什么移动啊,移动啊,联通啊等等。就就这些运营商,这些运营商呢,就是目标对象了,你不可直接我的应用程序,我的应用程序不能直接跟运营商,运营商打交道,人家不搭理你,谁知道2117是个什么公司,对不对?我电信我移动这这种国企都厉害的不得了,他不会搭理我们的,那我们怎么办?第三方,哎,我们会有第三方的这种公司,我们去访问第三方的公司,给人家掏钱,比如说五块钱200条,我们去跟人家打交道,人家第三方公司跟运营商他们,他们是有业务的,这种勾结。
07:20
哎,他就能够,然后让运营商为他提供多少条短信的这种服务,他们有业务的往来,我们呢就花点钱让第三方的公司给我们干活,那么除此之外,短信的功能就包括如果我需要支付的功能。对吧,开发应用程序需要支付啊,支付的功能,我们做个电商类的网站呀,我客户从我这买东西,我要刷他的银行卡。能明白吗?或者刷他的支付宝,刷他的微信,我都要从他的卡上把钱划走,那我2117的这个软件开发公司,我直接跑到银行去把他的数据接口要来,我去刷我客户的提供那个卡号,卡那个所在的这个银行的类别。
08:06
我就能去刷人家卡上的钱吗?不能没有资质,没有资质,所以就是说一般是这种大的公司啊,才会有这种资质去调取银行的,呃,支付宝的这种数据接口,你才能完成这种支付的功能,这个也是第三方公司。啊,第三方公司可以办成这个事儿,所以就是你看这是活生生我们应用程序的功能,但是我们却又做不到,我们需要通过第三方的公司,第三方的公司就是代理对象同学吗。然后呢,我们这些这这些下边的这个都是客户端的对象。你看没没商量嘛,我们但凡是去干活,我们总是会遇到,就包括开发也好,生活中也好,我们总是会遇到代理商,中间商赚差价就得让他赚啊,我们才能完成我们的业务需求,没办法,所以无论开发也好,生活也好,那么你需要一个中间的这么一个代理对象帮助你去实现功能,那么这个就是代理模式存在的意义。
09:20
啊,就代理模式。
我来说两句