00:00
所以这块为什么我说你最好是在后面再看呢,就因为你现在掌握的知识点呢,没有那么多,你看这块有点难,是这样的,所以这块呢,我不要求说你把这个东西掌握不需要,那我要你掌握什么呢?就是我们开头说的这个内容啊。第一个什么是动态代理呢?用反射机制创建对象的能力。用反射机制创建对象的能力,我们刚才说创建对象了,这一点确认吧。看对象了啊。它是我们创建一个对象,为什么它对象,因为它能调方法吗?所以这是个对象。换对象吗?那么你穿这个对象在执行这个shell的时候能干什么?在使用下的时候,我们是可以指定目标方法之后是不是可以额外增加很多功能啊,你可以反应红包,当然你也可以干很多其他你想干的事情啊,比方说我想啊记录数据库这是可以的吧,那没问题,你可以记录数据库,你可以干很多事情嘛。
01:11
这重大代理他能干的事情,能够执行目标方法。在这儿。执行目标方法还能做,是额外的功能的增加呀,哎,这个额外的功能增加有什么意义呢?那就是说我这个类的代码不需要改。就可以增加这些功能吗?那我今天可以增加这个红包,明天我可以增加返现吗?我这个增加的功能不需要改动原始的这个代码。我就可以在买东西的时候,或者说卖东西的时候,我可以给你红包,给你返现,给你优惠券,我可以很灵活的给主要的这个卖东西,额外的是增加很多其他的功能呢。是不是说我可以给这个原有的功能代码去增加其他的功能,是不是容易一些呀?
02:04
不需要改动这个源代码。就可以增加功能吧,就可以增加功能是这个意思,好,那所以我们说呢,不能干什么呢,它能干什么,它是说我们可以在。不改变原来这个目标方法功能的这个前提下。功能啊功能的前提下,我们可以在代理中增加或者增强自己的这个功能代码。是这个意思,我可以在不改变原来的功能前提下,我可以呢,增加自己的功能代码啊,代码达到一个功能的增强和修改呗,这个意思,那这个作用在我们现实生活中,或者说在我们的程序开发中有没有意义呢?有啊。
03:06
在程序中的意思啊,它的意义啊,我们说在程序开发中的这个意义,什么意思,比如说啊,比如那么你有就是说啊,比如说这样啊,就说你的这个项目中啊,你所在的这个项目中有一个功能啊是。其他人写好的写好的,那其他人呢,他可能是公司的其他部门。公司的其他部门,或者说其小组的人,总之呢,不是你认识的,哎,这个功能其他人写好了,然后你可以用,你可以使用,那就是说呢,比方这个功能啊,我们叫做功能类吧。
04:06
功能。功能有一个class,然后你怎么可以用啊,你是不是可以这样啊功能。功能,然后你可牛一个功能,然后你功能点要用一个方法。比方说这个方法是吧,你就可以这么用吧,没问题,你可以用,但是呢,你后来发现呢,你发现。你发现这个功能啊,它现在呢,还缺点还缺点还缺点不能完全满足。啊,不能完全满足我项目的需要,这是我项目呢,用这个功能啊,还差点不能完全满足我项目的需要。
05:03
啊,那我需要什么呢?我需要在这个功能点。执行后啊,我需要自己啊,再增加点代码。增加这个代码,那你看。那你怎么能够实现,在实现这个功能代码的调用之后或者之前吧,我得增加自己的代码啊。我需要去调用那个普的同时还得自己增加这个代码吧,那怎么做呀,用代理呀,用代理就可是这个用代理来实现,实现,那我们功能点调用,调用时我增加自己的代码,而不用去。
06:06
改。啊,去改原来的功能的。文件,换句话说你也没权限改,为什么我说了吗?这个功能是别人写的,那你想别人写的这个代码会给你这个原文件吗?会把这条文件给你吗?不会,你没有它,没有它你怎么去改源代码,去增加功能,你没办法吧,那怎么办?你可以通过代理的方式,在调用他的同时,我是不是可以增加自己的功能。增加自己的代码啊,不是代理。增加自己的代码,这样的话你就相当于是重新利用了已经存在的功能,再增加点自己的。就可以完成你项目的需要了吧?
07:02
这就是你的动态代理在实际项目开发中经常做的事情。在保证原有功能存在的情况下,你可以稍微修改就变成自己所用了。那这就是你的代理在公司中真正实际用到的位置。好,我这么说你能明白吗?啊,我这么说。就是说这个功能有,但是呢,你想改。附加的功能。就能为你所用了,但是这个功能你改不了别人写的代码嘛,你肯定是没有这个什么class的呀,没有这个源代码的嘛,你改不了。那你想增加点工资怎么办?你代理呀。那如果这个要是我们自己实现。
我来说两句