一个轻量级AOP的实现(开源)

简介: 事先声明,本项目参考AOP in C#和园内大神张逸的文章,思路神马的都不是自己的!    为了让项目的代码看起来更干净,需要一个AOP!    于是就实现了一个非常简单的,非常轻量级,有多轻量级呢?    实现的AOP叫做Earthworm(蚯蚓,为什么叫这个?因为它小,它会疏通!,项目的本意也是这样,所以就叫这个!),命名空间Earthworm下有8个代码文件,包括4个公开接口,1个公开特性,1个公开的抽象类,2个内部类。

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

    为了让项目的代码看起来更干净,需要一个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

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

还有AspectOrientedAttribute

View Code

    附上整个项目:下载

   需探讨,加908165245!

目录
相关文章
|
6月前
|
XML 开发框架 Java
Spring轻量级开发框架(二)
Spring轻量级开发框架
71 0
|
6月前
|
XML 开发框架 Java
Spring轻量级开发框架(一)
Spring轻量级开发框架
143 0
|
6月前
|
SQL 开发框架 Java
Spring轻量级开发框架(三)
Spring轻量级开发框架
54 0
|
4月前
|
监控 Java 数据安全/隐私保护
Spring AOP实现原理及其在企业应用中的实际应用
Spring AOP实现原理及其在企业应用中的实际应用
|
6月前
|
设计模式 Java 程序员
深入理解spring的两大特性 ioc 和aop
深入理解spring的两大特性 ioc 和aop
131 0
|
前端开发 Java 数据库连接
基于Gin+Gorm框架搭建MVC模式的Go语言企业级后端系统
基于Gin+Gorm框架搭建MVC模式的Go语言企业级后端系统
224 0
|
监控 Java 测试技术
探索轻量级Java开发:Spring Boot 介绍与特性解析
在现代的软件开发领域,快速、高效地构建可靠的应用程序变得至关重要。Spring Boot,作为Spring Framework家族中的一员,正是为了满足这一需求而诞生的。本文将为您介绍 Spring Boot 的基本概念、特性以及为什么它在Java开发中如此受欢迎。
181 0
|
缓存 Java 程序员
Spring核心特性—— AOP(面向切面编程)
Spring核心特性—— AOP(面向切面编程)
155 0
|
XML 前端开发 Java
搭建简易SpringFrame-ioc框架
搭建简易SpringFrame-ioc框架
|
运维 监控 Java
基于线程池构建的任务管理工具spring-fom开源啦!!!
基于线程池构建的任务管理工具spring-fom开源啦!!!
基于线程池构建的任务管理工具spring-fom开源啦!!!