美文网首页让前端飞
面向切面编程

面向切面编程

作者: 我竟无言以对_1202 | 来源:发表于2018-07-13 17:28 被阅读1次

概念

(AOP)面向切面编程,主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程的某个步骤或者阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果.也就是说,在业务逻辑开始之前与结束之后进行操作,不干扰业务逻辑的具体过程.

举个例子:计算一个函数的执行时间。

普通方法:

function test() {
    var start = new Date();
    alert(2);
    var end = new Date();
    console.log(end - start);
};

但是这样的话是不是每个函数都要加上start,end,这样会很麻烦而且说不定别人也会有start变量,所以我们就需要用面向切面编程

function test(){
    alert(2);
}

Function.prototype.before = function(fn){
    var __self = this;
    return function(){
        fn.apply(__self,arguments);
        return __self.apply(__self,arguments);
    }
}

Function.prototype.after = function(fn){
    var __self = this;
    return function(){
        __self.apply(__self,arguments);
        fn.apply(this,arguments);
    }
}
 test.before(function(){
    return start = new Date();
}).after(function(){
    return end = new Date();
})();

console.log(end - start);

相关文章

网友评论

    本文标题:面向切面编程

    本文链接:https://www.haomeiwen.com/subject/snvjpftx.html