加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

依赖注入和AOP巧解

发布时间:2020-12-13 20:22:35 所属栏目:百科 来源:网络整理
导读:依赖注入 (DI,Dependency Injection):假设你是一个特工人员,需要C4 炸 药去炸毁桥梁。一种办法是出发的时候自带100 公斤C4,到了地方引爆,这相当于我们常 见的自己给变量赋值然后调用;另一种办法呢,是当你到达目的地以后,呼叫总部空投200 公斤C4 炸
依赖注入(DI,Dependency Injection):假设你是一个特工人员,需要C4 炸
药去炸毁桥梁。一种办法是出发的时候自带100 公斤C4,到了地方引爆,这相当于我们常
见的自己给变量赋值然后调用;另一种办法呢,是当你到达目的地以后,呼叫总部空投200
公斤C4 炸药,然后你可以炸毁不止一座桥梁,这就相当于你在需要的时候被注入了200 公
斤C4,因为你不知道总部使用的是哪架战机,但是它知道你在什么时候和什么地点需要这
些炸药,换句话说,控制权在总部那,这就引出了另一个术语IOC(控制反转,Inversion of
Control),意即你现在只需要埋头写自己的代码,容器(总部)知道什么时候给你合适的
对象(炸药)。

AOP(Aspect Oriented Programming,面向切面编程):假设你被联邦调查局盯
上了,怀疑你和基地组织有一腿,那你就惨了,可以亲身感受AOP 的威力。打电话,有人
听;出门吃饭,有人在你饭里下毒;开汽车,发现车后有人为你“保驾”。也就是说你发现
以前能够直接操作的东西都被人过滤了,被人先行做了手脚。其实Web 开发中的过滤器就
是这样做的,那就是一个AOP 的例子。这个中间被强插入的一层,就是切面(Aspect)。
好的情况下你还能发现切面(暗探)的存在,差的情况下你压根不知道被人做了手脚。好
了,这就是AOP,就是那个对你下黑手的对象。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读