00:00
下面我们继续来学习此任务框架,在之前内容中呢,我们已经把此文中的第一个核心部分loc的部分咱已经完成了,而在此文框架中还有另外一个核心部分,它就叫做a op,所以咱们下面开始给大家来讲解a op的相关的内容。那a op中呢?首先我们先看理论的第一部分,就是关于a op中一些基本的概念,也就说什么是a op,包括a op主要是做什么事情的,这个概念是怎么样,以及它的原理是如何。所以咱们下面先来讲一下a op中的基本概念,然后再来完成里边的具体操作。然后咱们首先我们打开这个百度百科,咱们看一下啊,里边有这么一段话,第一个关于这里提到spring框架有这么些部分组成,包括有核心的do的等等一些内容,然后还有一部分叫a op,咱们现在开始学的就是它的a op的这个部分。
01:04
然后这个a op呢,到底是什么呢?给各位来做一个说明,就是我们的第一个支点,什么是A。给各位自我介绍,然后咱们同样打开百度百科看一下a op的一个描述。这里写到a up呢,翻译过来叫什么?它叫做面向切面编程,或者说也可以叫面向方面边程,这个叫up up,这是它的三个。英文单词a op,它的简写。那我写一下,首先第一句话要各位记住,A op翻译过来叫做面向切面边长。或者说也可以叫面相方面。边程,这是它的一个基本描述,那这个面向界面边程到底是什么意思呢?咱们往后来看,这里写到说a op是op的一个延续,是软件开发中一个热点,然后利用a op可以干什么,咱主要看这段话,这里写到它可以对业务的逻辑的各个部分进行怎么样进行隔离,从而使你的业务逻辑构分之间的耦合度降低,提高程序的可重用性,同时提高你的开发效率,这AOT里边一个基本的特点。
02:29
把这个拿过来,然后一会儿重点解释这句话,这里描述就是其实咱用a op呢,它里边就可以把你比如说我现在做一个软件,里面有各个功能或者各个部分,把各个部分给它怎么样分离开来,这么做可以降低你业务之间这个耦合度,从而提高你的可纯性,所以你注意它的目的也是为了降低耦合度,让咱开发更加方便,这是它一个官方描述。然后咱往下看,这里边有一个就是a op,一个主要的意图就是a op呢,在实际中有很多的场景,而场景中一直提到一个词大看这句话啊,就是从业务逻辑代码中划分出来,通过这些行为的分离,我们可以使用它们独立,就是非指导业务的逻辑方法中,进而改变这些行为的不影响业务的代码,这是一段描述,但是这句话呢,说的很官方,我下面把这个LP到底是什么,咱们用最通俗的语给大家详细解释一下,然后在解释过程中,我就通过一个具体例子给大家来说明到底是V,就是这句话到底它描述的是什么意思子。
03:43
给各位来说一下啊。然后怎么来说,给各位画张图,这图怎么做呢?咱们举一个最基本的例子,比如A啊这么一个描述,咱举个什么例子,这例子各位都知道。就是一个普通的。
04:00
登录功能,用它我来说明a op到底是干什么的,邀各位跟着我的思路,咱一起来理解什么叫A。我这里啊,来写一下。然后a up呢,咱用登录来完成,登录这功能各位应该很熟悉,假如我现在我想做一个最基本的登录功能,那我现在在里边,我就画一个简单的一个流程图,然后来画出咱的登录,我就画到这个位置啊,那登录咱很熟悉,首先登录呢,咱肯定要输入我们这个用户名和密码。啊,就是你的用户名密码,然后输入之后,我们在页面中做表单提交,然后我们在我们的这个程序中得到用密码,咱们是不是要进行数据库的查询啊,那比如说往下的话,就是现在我们输入了用户名和密码之后,然后怎么做,咱肯定要去查询我们的数据库。啊,进行数据库这么一个查询。
05:02
然后在查询过程中,就来判断一下你的用户名和密码到底是否正确,那我下面画一下,咱们里边,比如现在我这个位置做这么一个判断,我就画这么一个符号啊,就是一个。菱形里边咱们做一个用户名和密码的一个判断,通过查数据库的过程进行判断,然后判断过程中的无外乎用户名、密码,如果都正确,咱肯定是登录成功,如果说里边有一个失败,咱是不是就是登录不成功?那来画一下啊,里边两种情况,要么成功,要么失败。比如说现在我这个域密码它不正确,咱肯定是登录失败,那登录失败怎么做,咱是不是要回到我们的页面中,再重新输入你的用户密码,是不是重新进行登录,肯定是这个过程,这各位应该都知道啊,咱们输入不对,肯定让你重新输入,但是这个过程中,比如说咱们现在用户名和密码输入正确,咱是不是就是。
06:08
登录成功了,那么就进行这么一个登录,然后进入到我们的页面中,就完成我们这个具体操作啊,比如现在我们登录成功,那就进入到我们的主页面中。然后完成这个过程,所以大家看我现在画的这个过程,是不是一个最基本的一个登录一个流程,咱通过它是不是能完成登录这个过程。这各位啊,应该很清楚登录一个流程,包括咱们到很多网站中登录,无外乎这个流程,输入用密码,如果正确进入到主页面做其他操作,如果不正确,返回继续进行输入,这叫登录,但是现在咱通过它说一下什么叫a op的功能,那我来强调啊。比如说我现在啊,我想在这个登录这个基本功能上给他完善一个功能,对的描述,我现在这个流程是不是登录一个完整流程,登录过程是不是能走通,假如我现在我想做这么一个事情。
07:10
在这个登录的这个功能的基础之上。给它添加一个功能,或者说完善一个功能,假如说咱要完善什么,我想给他加一个叫权限的这么一个判断,什么叫权限判断,给大家解释啊,比如说我现在我用用户名密码登录,那我这用户是不是有不同的角色,假如我的用户是一个管理员用户,他是不是有。很多的操作权限,假如我的用户只一个普通用户,那他可能只是操作某一个功能,所以每个用户应该是有不同的权限,所以我现在我想在这过程中加一个权限的判断,就想要做这个功能,那这功能怎么做?给大家说明,首先如果说啊,咱们用原始方式,就是最原始方式,咱是不是要去修改它的原代码进行实现?
08:08
就是你要改代码,在代码中呢,咱肯定是进行这个判断啊,假如说写一个简单一个伪代码,比如咱现在判断一下,如果说比如你是一个管理员。那我们可以做加操作,比如来一个else if,如果说他是一个普通用户,那我们做他的。其他都做。这个啊是我们原始方式,就是你需要修改源代码,但是现在呢,因为咱们讲的叫a up,而a up什么意思呢?它叫面向切面,说的通俗点什么叫up,这里边啊,咱就来到我们的重点中,比如说你现在我想加这个功能,咱们。不通过修改源代码的这个方式,就可以给它添加一个新的这么一个功能,这过程就叫a op,不改变原代码,在原有基础之上可以加个新的功能,这过程就叫A。那过程怎么做呢?咱做法就是我现在可以把这个权限管理这部分单独写个模块就是权限。
09:18
管理的这个或者权限判断的这个模块给它单独啊,独立出来一个新的一个模块,然后把这模块通过一些方式,比如咱通过配置方式或者其他方式给它配置到咱们登录的主干这里边去,注意这个过程啊,就是把这个权限模块单独写个模块,然后配置到你的转弯中去,而这么做什么好处,第一个。咱登录到之前代码不需要变,而我现在把它配置进去,假如说某一天我现在不需要用这圈判断,那源代码也不需要变化,咱们把这配置给它去掉就可以了,这过程就叫a up,就是现在我把登录的主干功能和权限判断功能给它分离出来,然后这样的话两个加一起构成咱们一个更完善功能,这过程中它们是相互分离的,就是做到咱说那个耦合度的降低,比如说现在我配置之后,某一天我不用这个判断,咱把这配置去掉,那这功能就没有了,但是我现在不管你有没有权判断,我这登录流程都可以正常执行下去,这过程就叫a op,所以咱们现在把它做了一个讲解,就是通过这个登录例子,希望各位。
10:32
理解一下到底什么是a up?我把这个图给大家截过来,然后把这段话写一下,咱们的通俗描述就是。不通过修改源代码的方式,在我们的主干功能中啊,就是在我们的主干的这个。功能里边添加一个新的功能,原始方式肯定要改代码,但是现在a up的方式就是不通过旧代码,把这新的功能给它加上,这个就叫up。
11:08
所以现在啊,咱用这个登录这个过程,把这个给各位做了一个说明啊,就是我们使用登录的例子来说明这个a up。所以大家把这个例子能给它理解。你知道AOP。他到底是做什么事情的,这个啊,我们就做一个说明,所以咱们现在把这个a op的。基本的概念我们就讲完了,通过这个描述大家把它知道,然后咱们说完之后呢,咱们回过头来再来看一下这句话,刚才提到的利用a op可以对你的业务逻辑的各个部分进行隔离,从而使业务逻辑各部分之间的额度降低,就咱说这部分,我们有主干登录,有圈判断,把它们之间就做了隔离,然后通过配置方式调到里面去,而他们之间的耦合度是不是就可以说极大的降低了?
12:04
这是关于AOP的基本概念,面向切面边程,大家通过例子理解一下AOP到底是做什么事情的,所以咱们把概念我们就说完了。
我来说两句