博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式之AOP
阅读量:5876 次
发布时间:2019-06-19

本文共 735 字,大约阅读时间需要 2 分钟。

OPA Aspect Oriented Programming 面向切面编程

面向切面编程是在java中的概念,从设计模式的层面上来讲,其实OPA也属于装饰器模式的一种,常见于埋点业务,使埋点逻辑和业务逻辑解耦合

// 可以通过预编译方式和运行期动态代理实现:在不修改源代码的情况下给程序动态统一添加功能的技术// AOP 指在函数执行之前或之后添加一些额外的逻辑,而不需要修改函数的功能Function.prototype.before = function (beforeFn) {    let _this = this;    return function () {        beforeFn.apply(this, arguments);        _this.apply(this, arguments);    }}Function.prototype.after = function (afterFn) {    let _this = this;    return function () {        _this.apply(this, arguments);        afterFn.apply(this, arguments);    }}function buy(money, goods) {    console.log(`花${money}元买${goods}`);}buy = buy.before(function () {    console.log('要钱')})buy = buy.after(function () {    console.log('还钱')})buy(0.8, '盐')复制代码

转载地址:http://eckix.baihongyu.com/

你可能感兴趣的文章
设置tomcat远程debug
查看>>
android 电池(一):锂电池基本原理篇【转】
查看>>
Total Command 常用快捷键
查看>>
ionic 调用手机的打电话功能
查看>>
怎么使用阿里云直播服务应用到现在主流直播平台中
查看>>
Xcode全局替换内容,一键Replace
查看>>
1000 加密算法
查看>>
exif_imagetype() 函数在linux下的php中不存在
查看>>
Ruby的case语句
查看>>
Linux的链接文件-ln命令
查看>>
maven的tomcat插件如何进行debug调试
查看>>
table表头固定
查看>>
截取字符串中两个字符串中的字符串
查看>>
spring xml properties split with comma for list
查看>>
判断点是否在三角形内
查看>>
Android实战简易教程-第二十三枪(基于Baas的用户注冊验证username是否反复功能!)...
查看>>
在odl中怎样实现rpc
查看>>
leetcode 110 Balanced Binary Tree
查看>>
python活用isdigit方法显示系统进程
查看>>
项目开发总结
查看>>