00:00
为什么要找中介,第一个人家中介是专业的嘛,这个正确说中介是专业的啊,专业的方便呗,还有一个原因就是说你这个家长他现在不能。自己去找这个学校,也就是说他现在这个学校就是这个家长啊。家长他没有能力去访问学校,实际上对于我们来说,我们当然期望自己能够去看到这个学校,去到这个学校,去了解学校各种信息吗?但因为现在你没这个能力,你可能出不了国。你也找不到这个学校,换句话说,这个学校不接受个人来访。或者。
01:01
或者说这个美国的学校呢,他不接受。个人来访就说你要来了,我不接受啊,我不管你,那你想他就拒绝了吗?这样的话呢,你虽然作为一个个人,你去访问学校了,人不接待你,那有什么用,信息还是你拿不到。也就是说,他不让你个人访问怎么办?你就只能通过中介去做。那这个呢,跟我们这个商品买卖就很像了,那你看我们现在卖东西都是商家卖。啊,商家卖。买卖,那么这个商家实际是某个商品的代理吧,某个商品的代理,那这时候你个人,你个人买东西。肯定。
02:03
嗯,肯定不会让你接触到这个厂家的。是不是这样,你通过这个商家买东西时候,这个商家什么时候是说啊,你找厂家去吧,厂家卖不会这样吧。那就是说我们这个代理或者说这个中介,他是控制你,不让你访问到这个目标的,所以这个还有一个就是说我们的这个代理,这个代理他不让你。啊,不让你访问到。这个目标。就说你想访问这个学校,你想访问这个厂家,他不让。代理不让你访问,你访问不了啊,访不了。
03:02
那这时候你只能通过这个代理去完成你期望的功能呢,你希望访问学校,因为代理不让你访问,学校也不让你访问,那怎么办?你只能通过中介去访问,和你买东西也一样,你只能通过商家。然后这个厂家。不接受。不接受某一个人的买东西,不接受他,你个人买东西,人家不搭理你。所以你只能通过商家,然后商家呢去对接你的厂家,只能是这样的一个过程,所以呢,我们的日常生活中,代理就是这个模式的,因为有些时候你想访问这个。学校房产家人家不接受吗?不接受你访问不了,你只能通过这个代理去完成你的这个买卖呀,或者留学这个功能,或者通过商家来买东西才行的,这就是代理,这个代理呢,是我们生活中的,那再说我们的开发中也会有这个情况。
04:04
那在我们的开发中啊,在开发中它也会有。也会有这样的情况,什么情况呢?那就是说你有一个A类,你有一个A类啊A类它的目标它应该是说有个A类。他本来呀。嗯,本来是调用C类的方法来完成某个功能,但是C不允许或者说不让A调用。A调C不行,现在是A,它呢不能调用C的方法,但是我还要用C的方法怎么办?
05:05
那我们就在A和C之间。创建一个。B、代理C、允许。啊。西藏吧,西藏B访问,那现在就变成谁了呢?A去访问B,它去访问啊访问B,然后B呢,再访问C。这时候。那我们的C把结果给BB呢?再给A,那么这个B就是代理了这个事,我们在实际的项目开发中就会遇到这样的问题。
06:05
你本来想法是?C不让你访问,那怎么办?我们来一个B。这个B呢,充当是代理的角色,B可以访问C。那就是说A访问B,然后B呢再访问C。把其结果给B,然后B呢,再给A,这样就达到了我们最终的目的,你的A可以间接的访问C,这就是代理的一个使用。我们在实际项目中,这种情况实际上是有很多的。很多的。这个例子呢,给你举一个实际的啊,实际的。实际的例子啊,但是现在呢,你看我们是不是可以去。登录或者注册的时候有个验证码啊,登录注册有验证码,验证码呢,实际上这个验证码是手机短信,手机短信那大家想啊。
07:06
如果现在在你的项目中,你说你做个登录,你想呢,要发一个手机短信。你有没有这个能力,能发手机短信呢?说你有没有一个能力说在我项目中,我发个短信。你没这个能力,你发不了短信。因为发短信是我们的中国移动啊,联通啊,他们这些公司才有这个短信的发送能力,你是不行的。那就说呢,我们有有中国移动吧,啊,中国移动还有联通。啊,他们能发这个短信。发短信,那你说我个人啊,我一个张三。我去上那个中国移动是吧,我要发短信。啊,一天我就发两条。
08:03
那你想中国移动能搭理你吗?一天发两条多少钱,你给人多少钱,你也发两条啊,你说干就干呢,肯定不会,不会搭理你的,谁能搭理你说我一个人,我找中国移动,我要发短信,不可能,怎么办呢?是这些移动公司呢?他们啊,中国移动或者联通。他们有呢,这个子公司,子公司或者是。外怎么说呢,子公司或者是我们叫关联公司吧,关联公司他们。面向这个社会提供短信的发送功能是这样的。然后你现在张三要发短信,那你就说张三的项目要发送短信。那怎么办,他就找这个。
09:00
子公司,那就是这个子公司或者关联公司找他们,然后这个关联公司或者子公司呢,他们再去访问中国移动或者联通。那你看你这个不就是代理吗。它是代表的是中国移动或者联通完成他们的短信的这个功能吗?是这样的,那我们在实际生活中,你想发短信,现在就是这个模式,因为你的项目不管是哪个项目,他本身都没有这个能力,能直接发短信没有。他得找这些关联子公司,这些子公司他们提供了对外的短信的发送能力,然后这些子公司他再把这个信息交给中国移动或者联通,然后有联通他们或者移动他们就发短信,那么这个关联公司或子公司他们就是代理。那你现实生活中你就只能这么干,你只能通过这个代理去做别的你做不了嘛。好,这是给大家举一个实际的例子,那我们在写代码的时候,有时候也可有这个问题,那就是A访问C。
10:06
不让你访问怎么办,还有一个B这个代理啊,这就是属于是代理,那这个代理呢,它有个专业的名词叫代理模式,像这个啊,代理模式就这个。最下面就这有一个名词叫代理模式。这个代理模式呢,是说呢,为其他对象提供一个代理,以控制对这个电脑访问。在某些情况下呢,一个对象不适合或者不能直接引用另一个对象。也就是说你要访问的那个C,你访问不了,那怎么办呢?这个代理可以在客户和目标之间起到中介的作用,那就说你A访问C,现在这个C访问不了,C就是我们所说的目标。这个A呢,就是客户。A访问C访问不了怎么办呢?加一个B,这个B就是代理,那我们把这种程序的调用关系叫做代理模式,叫代理模式啊,就这个意思。
11:12
它就是我们生活中那种代理,也就是说你访问这个C,访问不了,加一个BB叫代理,我们把这种ABC的关系就叫做代理模式啊代理模式。好,那这个概念大家能清楚吧,这就是代理。做这种日常生活代理,在项目开发中也存在这种情况,那这种情况呢,我们叫做代理模式,就是你访问一个C,不让你访问。那怎么办?在你的A和C之间增加一个B,它叫做代理。它可以访问我们的目标C在这里类我们叫客户端。C呢,是目标,最终仿的都是他们。你想访问他?B叫代理。B也访问它,所以说这个C是目标类,叫目标啊,叫目标。
12:05
然后呢,通过这个代理间接的访问C,达到你A访问C的这个目的。A访问BB,在访问C,它是一种间接的一种关系。好,这是代理,这个概念能清楚吧,这就行了,这是代理啊。就是代理的概念。在这。我们这儿呢,讲的是代理啊,动态代理呢,一会再说啊。这是代理的概念,这个没问题吧,代理的概念就说你访问C访问不了,加了一个B做代理类。这个代理类B呢,它间接的能够访问到这个,就是说代理B它能够访问到C。A访问BB,在访问C,那么这个B类能够完成访问器的功能,让你这个A类呢,也能完成最终的功能,这是代理。
13:02
好,这个概念呢,有一个印象就可以了,稍后我们通过代码给大家演示一下这个关系的一个实现。行,这是代理啊。然后这个概念呢,大应该没问题吧。
我来说两句