博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个轻量级AOP的实现(开源)
阅读量:6947 次
发布时间:2019-06-27

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

 事先声明,本项目参考和园内大神的文章,思路神马的都不是自己的!

    为了让项目的代码看起来更干净,需要一个AOP!

    于是就实现了一个非常简单的,非常轻量级,有多轻量级呢?

    实现的AOP叫做Earthworm(蚯蚓,为什么叫这个?因为它小,它会疏通!,项目的本意也是这样,所以就叫这个!),命名空间Earthworm下有8个代码文件,包括4个公开接口,1个公开特性,1个公开的抽象类,2个内部类。所以对外部调用者而言,可见的只有6个,够轻量级了吧!

   先看项目的组成!

             

      先从简单的说吧!

      4个公开接口:

IStopAdvice

View Code

IBeforeAdvice

View Code

IAfterAdvice

View Code

注释比较齐全就不说了,这三个接口是提供给“通知对象”的!

还有一个是提供给“通知对象”提供者的!

 IAdviceProvider

View Code

当然这个AOP的主要部分不是这个!

来看最核心的AspectOrientedProperty和Aspect

AspectOrientedProperty

View Code

Aspect

View Code

最后是浮云般的AspectOrientedObject

///     /// 做个假哦     ///     public abstract class AspectOrientedObject:ContextBoundObject{}

还有AspectOrientedAttribute

View Code

    附上整个项目:

   需探讨,加908165245!

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

你可能感兴趣的文章
vue图片上传相关(持续更新)
查看>>
java内存简单总结
查看>>
实现windows server 2008 R2多用户同时登陆或者同一用户名同时登陆
查看>>
PMD 插件的安装和使用
查看>>
利用JavaScript生成二维码并且中间有logo
查看>>
泛型小例子
查看>>
译文:C#中的弱事件(Weak Events in C#)
查看>>
抽象工厂模式
查看>>
Maven
查看>>
Unix-Linux 编程实践教程 第八章 小结
查看>>
linux下ElasticSearch安装及问题
查看>>
2019测试指南-web应用程序安全测试(二)指纹Web应用程序
查看>>
Quartus Prime 下载程序到FPGA流程
查看>>
php instanceof 运算符
查看>>
5月3日云栖精选夜读丨寒武纪重磅发布首款AI云芯片,阿里专家告诉你必须注意的Java编程细节...
查看>>
机器学习从业人员到底做什么?
查看>>
MyBatis mapper.xml处理sql中的 大于,小于,大于等于,小于等于
查看>>
java 受检异常和非受检异常
查看>>
GC垃圾回收机制
查看>>
rsync通过服务同步、linux系统日志
查看>>