00:00
好,呃,然后呢,下边我们来说这个插件和目标啊,我们前面提到过哈,我们may问的核心程序呢,它只是其实定义抽象的生命周期,它只是说呢,哎呃,坐在这儿啊,只是说我们要该干什么,他是下达命令的啊,发号施令的。具体干活呢,是插件来干的。哎,具体干活是插件来干的,所以说你看我们一开始哈,没有用任何框架的时候,没有用任何第三方库,你就是执行一个简单的比如说ovn的clean这样的命令哈,他都要去从,呃从从我们远程仓库去下载很多。这些下载的是什么呢?就是我们没的插件啊,具体干活都是插件去干的啊,呃,那么每一个插件呢。它里边可以包含啊多个目标。啊,可以包含多个目标,当然也可能个别有的插件只有一个目标啊,呃,这个目标是啥意思呢。
01:02
其实呢,就是这个插件的功能。啊,这个一个目标就是插件的一个功能,你比如说呢,我们的compel这个插件啊,它是具体来执行这个呃,编译的操作的,那么编译操作它当然不光能编译我们的主程序,Main目录下边,也可以编译测试程序,就是T的目录下边,这就是他们的两个不同的目标。这个事儿从哪儿能看出来呢?哎,我们还是哈,到妹妹选项卡里边,这打开以后,到plugins这打开,哎,这个时候你看到下边这哈,这就是具体的目标,呃,和生命周期这儿不一样,生命周期这儿就是个名字,到目标这儿呢,你看它后边有一个类似权利名的东西啊,其实它不是权利名,它是一个坐标。哎,你看比如说clear这个插件啊,它是这是它的group ID,这是它的artifact ID,这是它的版本。哎,你看这不就它的坐标吗?哎,所以说呢,它其实这个一个插件呢,就是我们本地库的一个具体的一个架包啊。
02:04
然后呢,这个插件有什么目标呢?你在这把它点开了就能看出来,诶你这里边看到的就是这个插件的目标。所以说呢,其实这个呃,我们这些目标呢,就是我们默认啊,现在我们看到的这些插件,他们的目标都是和我们具体的生命周期环节呢,是相绑定的,所以说呢,当我们双击这个某一个目标的时候啊,哎,这插件的某一个目标的时候,就相当于呢,去执行了对应的生命周期。啊,反正你想这么想吧,表面上呢,我们从逻辑上来讲哈。从逻辑上来讲,我们调用的是调用的生命周期里边的阶段。但实际上你找生命周期的阶段,他找的也是插件的目标吗?那你现在直接双击它,不就相当于直接找插件的目标吗?反正具体干活都是他们干的啊。哎,只不过我们说你这个还得点开在这儿就比较方便啊,这个从操作上层面上来讲,通常咱们会来这边来,呃这样点这样比较简单直接啊,这是我们说讲这个原理,呃,生命周期定义的是抽象的,呃标准啊,它从逻辑上啊定义我们要干什么事儿,呃插件呢,是具体实现啊,然后插件的目标呢,是一个一个具体的功能啊,就是这么一个关系。
03:18
到后边呢,咱们还会,咱们到这个第九章哈。咱们会深入的去,哎理解这个,更进一步理解这个po沫的时候,就包括啊,这里边就包括我们去看怎么样去写自定义插件,写自定义插件呢,并不是为了说呃,我们怎么样去去真的说开发里边要用啊,基本上我觉得没有什么场景啊,说需要还需要我们自己去写个V的插件,但是呢,我们通过哎去看这个ma的插件呢,我们去了解啊,Ma的插件和它的目标跟生命周期是怎么绑定到一块的。哎。这个都是后话了啊,这个后边我们在学完最小必要知识以后,进行必要的练习啊,然后呢,有一一定的积累以后,我们后边再慢慢再去深入,再去深化啊,不要想着一口吃个胖子。
04:08
哎哎,我们刚才。到哪儿了?还在这儿哈啊。呃,所以我们目前呢,大家初步的理解啊,生命周期插件目标他们之间大概是个什么关系,然后呃呃大概是什么意思啊,大致上有一个初步的感情认识啊就可以了,就够了啊。
我来说两句