中易网

什么是面向切面编程AOP

答案:2  悬赏:60  
解决时间 2021-02-23 08:53
我听说过面向对象!还没有听说过面向切面!请高手以形像的方式给个回答!谢谢!

请高手说一下还有什么面向编程?
最佳答案
Aspect Oriented Programming(面向切面编程),可以 通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一 添加功能的一种技术。
全部回答
面向对象的编程主要注重核心业务,而面向切面编程主要关注一些不是核心的业务,但又是必须的辅助功能,比如一个完整的系统中,记录平时系统运行时抛出的异常,需要我们去记录,以便我们对系统尽快的修复。这就是我们常用的日志。如果对一些要求比较重要的数据操作,事务是不可少的,如金融系统,这样的数据很重要,每步操作都很重要,我们就应该用到事务处理。这就是我们常用的事务处理。可根据你的系统数据的重要性,有选择的应用。还用一个常用的就是安全验证了,它也是常用的,对于不同的页面,访问的身份也不一样。这就是我们常用的身份验证。以上这些不是针对特定那个业务模块的,可能针对所有的模块。它们只是一些附加的功能,相对模块的主功能而言。如果在每个模块中都夹杂着这些不是核心业务的代码,看起来与核心业务有点关系,但这样处理,会对以后的维护比较头疼。同时也违背了面向对象的一条原则, 自己对自己负责 面向方面的编程主要是辅助核心业务的,它并不是核心业务,但它又是不可缺少的。我们可以这样理解它与面向对象思想的联合使用。其实面向方面编程就是把那些夹杂在核心业务方法里面的代码抽取出来并模块化,把它们单独看成一个模块功能.来与核心业务共同完成比较完善的功能. 面向方面编程( aspect-oriented 就是把那些不是核心业务应该处理的代码提取出来,进行封装成模块化.来处理那些附加的功能代码 .(如日志,事务,安全验证)我们把这个模块的作用理解为一个切面,告诉我们它是一个功能模块.我们可以把它看成一个切面.说白了就是我们写一个类,在这个类中写一些处理在核心业务中起到同样效果的方法.这样大家应该明白了吧.专业的概念就是那么难理解. 第二个:连接点(joinpoint),简单的理解就是在切面模块中定义的方法.就是上面定义类中的方法. 第三个:切入点(pointcut).就是连接点的集合,就是一组方法的集合了. 以下几个就比较理解了,目标对象就是要处理的核心业务了.代理就更容易理解了,让一个代理去完成这个任务.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
这个女生的头发是什么颜色的,,左边的那个
周村明星书店在什么地方啊,我要过去处理事情
大家好,我结婚两次,都离婚了,这次在家里相
瀚海洗浴地址在哪,我要去那里办事
荣威售后送行车记录仪是不是骗人的
南皮县润仓农资配送中心乌马营店地址在什么地
人力资源管理分几大板快?都是什么?
我弟弟到底是怎么了?弟弟26了,自从他4年前
仙境传说ro手游巫师装备怎么选择
向日葵的习性是什么?
已知数列{an}中,a1=3,1/(an+1)-1/an=5,n属于N
肾病综合症能吃绿豆吗
中国小孩可以吃外国奶粉吗
ASPI Manager for USB mass-storage Version
食盐为什么使人感到咸
推荐资讯
镇海楼这个地址在什么地方,我要处理点事
脸爱红的问题。。很严重。。。
赛罕区大学东路办事处望兴园居委会社区卫生服
整治的近义词
请问奇瑞旗云的车行驶在不平的路面、前面底盘
linux怎么用ftp命令上传文件
我是电气工程及其自动化专业的一名本科应届毕
1.7的化成分数
优乐香健康饮品地址有知道的么?有点事想过去
天润美容院怎么去啊,有知道地址的么
白山工作好找吗?
如何应对频发的校园暴力
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?