Javascript 中的 AOP
来源:互联网 发布:matlab定义二维数组 编辑:程序博客网 时间:2024/05/20 20:48
AOP(Aspect Oriented Programming) 意为面向切面编程,利用AOP可以对业务逻辑各个部分进行隔离,从而使得业务逻辑各部分的耦合度降低,提高程序的可重用性。
主要功能
日志记录,性能统计,安全控制,事务处理,异常处理等等
主要意图
将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。
以上内容来自百度百科…
在JavaScript中的应用
JavaScript 中函数作为第一公民,有很多用法微妙的用法,实现AOP也很简单。我们可以把函数当成参数传递到另外一个函数中。
拿 before 来解释下,首先保留一个 this (原函数)的引用,然后返回一个包含原函数和新函数的‘新函数’,在这个’新函数’里面,我们按照需求把两个函数执行一遍,并返回原函数执行的结果,保证 this 不被劫持。
由于我们是在Function.prototype上进行扩展,所以所有的Function都可以使用这样的方法。
执行结果就是1,2 ,3
。
这种做法很妙,我们可以把与核心业务逻辑模块无关的功能抽离出来,然后在不修改源代码的情况下给程序动态地添加功能。
=>
改写过后会让我们的业务逻辑模块更加纯净。
推荐阅读
- AllyTeam - 用AOP改善javascript代码
- 《JavaScript设计模式与开发实践》
如需转载,请注明出处: http://w3ctrain.com/2016/02/22/aop-in-javascript/ ,欢迎加入前端Q群( 467969149 )
1 0
- Javascript 中的 AOP
- AOP在JavaScript中的实现
- javascript aop
- Javascript AOP
- Javascript中的装饰者模式以及AOP简介
- AOP in JavaScript
- javascript--aop实现
- javascript AOP的实现javascript
- Spring 中的 AOP
- Spring 中的 AOP
- SSH中的Aop使用
- spring中的aop术语
- Aop 中的相关概念
- Spring中的AOP
- Spring中的AOP-ProxyFactory
- Spring中的AOP详解
- AOP中的基础概念
- spring中的AOP
- Tomcat服务绑定域名
- javascript 中的货币格式化
- 在xcode5中修改整个项目名
- 合同比对
- redis常用配置
- Javascript 中的 AOP
- Android 多线程
- JS事件之鼠标事件
- 【bzoj4013】[HNOI2015]实验比较 树形dp+组合数学
- Error>: CGContextDrawImage: invalid context 0x0. If you want to see the backtrace, please set CG_CON
- 九度题目1173
- 【代码笔记】iOS-浮点数处理并去掉多余的0
- 【leetcode】【66】Plus One
- chrome工具Postman使用图文教程