资讯专栏INFORMATION COLUMN

AOP 面向切片编程

genedna / 1150人阅读

摘要:简单理解就是在原方法执行过程中插入一些其他的功能一般用于监控功能现在需求在方法执行之前再打印个东西不改变源方法

简单理解就是在原方法执行过程中,插入一些其他的功能,一般用于监控功能

const say = (a = 0, b = 0) => {
    console.log(`say~~~ a:${a}, b:${b}`)
}

say()

现在需求在say方法执行之前再打印个东西(不改变源方法)

const beforeAop = () => {
    console.log("beforeAop")
}

Function.prototype.before = function (fn) {
    let that = this
    return function () {
        fn()
        that.apply(null, arguments)
    }
}

const say = (a = 0, b = 0) => {
    console.log(`say~~~ a:${a}, b:${b}`)
}

let newSay = say.before(beforeAop)
newSay(1, 2)
const beforeAop = () => {
    console.log("beforeAop")
}
const afterAop = () => {
    console.log("afterAop")
}

Function.prototype.before = function (fn) {
    let that = this
    return  function() {
        fn()
        that.apply(null, arguments)
    }
}
Function.prototype.after = function(fn) {
    let that = this
    return function() {
        that.apply(null, arguments)
        fn()
    }
}

const say = (a = 0, b = 0) => {
    console.log(`say~~~ a:${a}, b:${b}`)
}

let newSay = say.before(beforeAop).after(afterAop)
newSay()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104795.html

相关文章

  • 【好好面试】你必须要懂的Spring-Aop

    摘要:干货点此处是好好面试系列文的第篇文章。而这也是出现的原因,没错,就是被设计出来弥补短板的。运行结果如下运行结果可想而知,的通过验证,的失败。 【干货点】此处是【好好面试】系列文的第10篇文章。看完该篇文章,你就可以了解Spring中Aop的相关使用和原理,并且能够轻松解答Aop相关的面试问题。 在实际研发中,Spring是我们经常会使用的框架,毕竟它们太火了,也因此Spring相关的知...

    honhon 评论0 收藏0
  • 初识AOP面向切面编程

    摘要:初识面向切面编程的定义是什么目前自己的理解是把一个函数动态的的插入到另外一个函数当中,就像一个钩子一样。面向切面编程是的首字母缩写,我们知道,面向对象的特点是继承多态和封装。 初识AOP(面向切面编程) AOP的定义 AOP是什么?目前自己的理解是把一个函数‘动态的的插入’到另外一个函数当中,就像一个钩子一样。下面是详细的定义。 面向切面编程(AOP是Aspect Oriented ...

    Lavender 评论0 收藏0
  • Aop?看这篇文章就够了!!!

    摘要:又是什么其实就是一种实现动态代理的技术,利用了开源包,先将代理对象类的文件加载进来,之后通过修改其字节码并且生成子类。 在实际研发中,Spring是我们经常会使用的框架,毕竟它们太火了,也因此Spring相关的知识点也是面试必问点,今天我们就大话Aop。特地在周末推文,因为该篇文章阅读起来还是比较轻松诙谐的,当然了,更主要的是周末的我也在充电学习,希望有追求的朋友们也尽量不要放过周末时...

    boredream 评论0 收藏0
  • 【好好面试】手把手调试,教你分析Spring-Aop

    摘要:思考之所以会选择为切入点,是因为通过命名可以看出这是用来构建代理强化对象的地方,并且由于是先将目标类加载到内存中,之后通过修改字节码生成目标类的子类,因此我猜测强化是在目标类实例化后触发的时候进行的。 【干货点】 此处是【好好面试】系列文的第11篇文章。看完该篇文章,你就可以了解Spring中Aop的相关使用和原理,并且能够轻松解答Aop相关的面试问题。更重要的是,很多人其实一看源码就...

    aervon 评论0 收藏0
  • 关于AOP面向方面的编程

    摘要:与的全称是面向方面编程,这是于年在提出的一个术语。这儿将与面向对象编程相比较。这行代码的关注点,即方面,就是用户合法性校验。横切性问题的目标是将横切行的问题以一种更加通用的方式模块化,从而提升程序的模块化程度。 AOP AOP这一术语,近些年越发流行了。在java开发者社区里,学习使用Spring开发框架时,必定会涉及到AOP。不了解AOP不影响学习和使用Spring框架,不过在了解A...

    Pocher 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<