之前的基于DispatchProxy的AOP组件,实现了属性注入,但是这个依旧有很多限制

比如不支持构造器注入,继承DispatchProxy的子类必须是公开类

个人有点代码洁癖,不喜欢这种不能控制的方式,就学了几天Emit,参考了诸多前辈代码 比如智慧和美貌的化身L大(Lemon)的著作AspectCore的一些设计和实现

从从.Net Framework上把代码逻辑跑成功了,再迁移.Net Core,再加上依赖注入对项目再次解耦

代码内有引用L大的AspectCore的反射扩展做优化,我这人懒,有可用的,就懒得自己再实现了

我们前言哟一个ITest接口

基于这个实现了一个Jit服务

TestJit是我们的AOP特性类

继承自JitAopAttribute即可

贴上单例测试

测试单元跑过了

代码段的截图皆取自测试单元内

项目内的AOP改成了两套:

1、依赖于DispatchProxy的AOP,这套要依赖注入走的属性注入

2、依赖于Emit的AOP,这套只有构造器注入,理论上可以属性注入,但是个人对AutoFac不是特别感兴趣

项目地址:https://github.com/htrlq/NCoreCoder.Framework

最新文章

  1. Solr与Cassandra二级缓存实践
  2. 计算机网络自学之路-----IP协议(3)
  3. jsp七大动作和三大指令
  4. Windows下RCNN的使用
  5. ASP.NET MVC学习之模型验证篇
  6. Apple Developer Program Roles Overview
  7. HDU 1532 (Dinic算法)
  8. Centos 6.5使用Bumblebee关闭N卡,冷却你的电脑
  9. php curl函数实例
  10. BZOJ 1052 HAOI2007 覆盖问题 二分法答案+DFS
  11. ios jenkins从0快速配置
  12. 数据库中无数据时查询数据为空,但出现空指针异常的解决方案(转载https://blueskator.iteye.com/blog/2096026)
  13. C语言数据结构基础学习笔记——树
  14. thymeleaf 基础
  15. mysql 查看字段是否添加了索引
  16. Acegi框架
  17. mac安装thrift
  18. 在Windows2003下如何查看IIS站点中对应的PID值
  19. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团
  20. eclipse A Java Runtime Environment(JRE)

热门文章

  1. MySQL 对window函数执行sum函数疑似Bug
  2. java 面向对象(十一):关键字:package/import
  3. 【Nginx】如何封禁IP和IP段?看完这篇我会了!!
  4. 一、Python系列——函数的应用之名片管理系统
  5. The Prices
  6. 题解 P1484 种树
  7. 高效C++:设计与声明
  8. MySQL数据库---库的操作
  9. Springboot(一)springboot简介与入门程序
  10. js冒泡排序和数组去重