什么是AOP面向切面编程

什么是AOP面向切面编程

0505

AOP(Aspect Oriented Programming)面向切面编程是一种编程思想。

多端应用编程思想

多端应用顾名思义即“多个应用端”,比如一款软件即有手机端又有 PC 端, 站在一个项目架构者的角度,对项目的宏观布局做到胸有成竹是一项必备技能。

其实多端应用的概念刚开始火起来的时候,Python 全栈开发还没有这么火热,当时 PHP 正如日中天,AOP 就已经被广泛应用。想要与资深的Web开发人员侃侃而谈,那么AOP是一个绝佳的谈资。

如果要长篇大论地介绍 AOP 其最早是怎么来的,是通过多少复杂的机制实现的,那将是晦涩难懂的原理,下面举一个例子来跟大家解释什么是AOP。

通俗的理解什么是 AOP

假如文轩和阿福家里各有一棵苹果树,今天市场上苹果很畅销,文轩和阿福都很开心,因为他们可以摘苹果去卖钱。但是第二天市场上桃子变得畅销了,苹果滞销了,文轩不开心了,因为他只有一颗苹果树,他的苹果树只能结苹果,长不出桃子来。

但是阿福依然很开心,因为他在他的苹果树上嫁接了一根桃枝,当天就长出了很多桃子,又卖了很多钱。第三天市场上橘子变得畅销了,文轩依然不开心,因为他只有苹果;阿福依然很开心,因为他在苹果树上又嫁接了一根橘子枝。第四天阿福在苹果树上嫁接了一根梨枝,第五天嫁接了一根西瓜枝,第六天嫁接了一根巧克力枝……阿福的做法就是 AOP,阿福的苹果树就是一个基于面对切面编程思想架构的 Web。

AOP 在软件架构中的应用非常广泛,是一种如果使用AOP架构最好,如果不使用AOP也行,至多就是耦合度高点儿的应用。但是在 Web 项目开发中,特别是进入移动互联网时代以来,基于AOP思想,对项目进行前后端分离的基本架构,已经成为了一种必须要做的事情。

一般而言,我们管切入到指定类指定方法的代码片段称为切面,而切入到哪些类、哪些方法则叫切入点。有了AOP,我们就可以把几个类共有的代码,抽取到一个切片中,等到需要时再切入对象中去,从而改变其原有的行为。

2012年以前,新浪的CTO如果跟CEO说:“新浪微博只能从PC端访问。”那么并没有什么问题,但是,如果今天,新浪的CTO跟CEO说:“新浪微博只能从PC端访问。”,那还不如直接说“世界那么大,我想去看看。”显得更文艺一点。

2017年12月,胡润研究院发布了《2017胡润大中华区独角兽指数》,榜单上的所有“独角兽”公司,都可以通过PC端和移动端进行业务访问,这个结果其实是可预料的。

© 版权声明
THE END
喜欢就支持一下吧
点赞5赞赏
分享
评论 抢沙发
HarryPotter的头像|艾奇编程网

昵称

取消
昵称表情