spring aop是一种装饰器模式吗?

来源:百度知道 编辑:UC知道 时间:2024/06/15 15:48:48
如果不是的话,那么实现原理是什么?

不像装饰器模式,是属于代理模式!
我个人认为也类似于链路模式+建造者模式!

原理就是类似于美国次贷危机,基础服务商不直接和客户打交道,而是将自己的产品打包交给次级代理商去推向一级市场.将一部分原本由传统商业银行做的事情交给了投资银行去做了.

这个例子中,商业银行作为基础服务商,好比是被代理类.投资银行是代理对象,拿别人的产品(实际上要执行/调用的方法,也就好比是传统商业银行的基础贷款之类的业务等等)经过一个或者几次包装(AOP切面,好比是造成危机的复杂衍生产品)推向外部.用户则还是用户.

最终我们看:客户还是客户,被代理类还是被代理类,就是因为中间经过了AOP(代理),而产品或者说结果确有所不同,这个就是我们所要的效果.

aop面向切面 主要是做代理,其中有一部分含义是这样的:把本不该纠缠在一起的方法分离开来。
我给你举个例子:我们都玩网游,比如一个战士血和蓝是战士自己的属性,攻击技能是自己的方法,但是吃血这个方法,却不是,就要用切面代理来做,来实现一种服务。这个要是不明白,我再举个例子,我买一台电脑,假如有name和price属性,我有个代理商,专门做服务,买电脑送鼠标,通过aop来捕获电脑的buy()方法,来执行送鼠标操作。 我讲的比较浅,但是希望楼主明白