在这里列表了我想到的在你的应用程序中加入AOP支持的所有方法。这里最主要的焦点是拦截,因为一旦有了拦截其它的事情都是细节。

Approach

方法

Advantages

优点

Disadvantages

缺点

Remoting Proxies

远程代理

Easy to implement, because of the .Net framework support

容易实现,因为有.NET框架的支持。

Somewhat heavyweight
Can only be used on interfaces or MarshalByRefObjects

微显重量级

仅在接口或MarshalByRefObjects 上使用

Derivingfrom ContextBoundObject

从ContextBoundObject 派生

Easiest to implement
Native support for call interception

很容易实现

原生支持调用拦截

Very costly in terms of performance

非常昂贵的性能代价

Compile-time subclassing
( Rhino Proxy )

编译时子类化

Easiest to understand

很容易理解

Interfaces or virtual methods only

仅用于接口或虚方法

Runtime subclassing
( Castle Dynamic Proxy )

运行时子类化

Easiest to understand
Very flexible

很容易理解

非常灵活

Complex implementation (but alreadyexists)
Interfaces or virtual methods only

复杂的实现(已经实现)

仅用于接口或虚方法

Hooking into the profiler API
( Type Mock )

分析 API钩子

Extremely powerful

极端强大

Performance?
Complex implementation (COM API, require separate runner, etc)

性能未知

复杂实现(COM API,需要单独运行等)

Compile time IL-weaving 
( Post Sharp / Cecil )

编译时 IL织入

Very powerful
Good performance

非常强大

良好的性能

Very hard to implement

实现非常困难

Runtime IL-weaving
( Post Sharp / Cecil )

运行时 IL织入

Very powerful
Good performance

非常强大

朗好的性能

Very hard to implement

实现非常困难

转载于:https://www.cnblogs.com/chenh/p/9917975.html

(一)七种AOP实现方法相关推荐

  1. 懒人的七种超级减肥方法 - 生活至上,美容至尚!

    懒人的七种超级减肥方法:冬天坐在办公室,动也不想动,放假就窝家里沙发吃薯片看韩剧,天呀!这种生活绝对是变成胖妞.开春还要见人吗?现在减肥网告诉各位朋友最有效的懒人的七种超级减肥方法,行不行动就看你啦! ...

  2. 懒人的七种超级减肥方法 - 健康程序员,至尚生活!

    懒人的七种超级减肥方法:冬天坐在办公室,动也不想动,放假就窝家里沙发吃薯片看韩剧,天呀!这种生活绝对是变成胖妞.开春还要见人吗?现在减肥网告诉各位朋友最有效的懒人的七种超级减肥方法,行不行动就看你啦! ...

  3. AI 渗透应用程序开发的七种趋势及方法

    2019-11-25 17:12:31 如果你最近一直在关注科技新闻,那么可能已经读到了有关人工智能的新闻,无论好坏.它在你能想到的每个行业都留下了自己的印记.诸如Google,Facebook和Mi ...

  4. python实现列表去重_python实现七种列表去重方法

    #encoding=utf-8import timetime_start=time.time()print u"列表去重的七种方法"print u"第一种测试方法&quo ...

  5. JS七种加密解密方法

    HTML或JS加密解密 本文一共介绍了七种方法:   一:最简单的加密解密   二:转义字符"\"的妙用   三:使用Microsoft出品的脚本编码器Script Encoder ...

  6. 高度不定垂直居中_经典:CSS垂直居中的七种方法

    点击上方"程序员黑叔",选择"置顶或者星标" 你的关注意义重大! 作者: 来自互联网 我们在编辑一个版面,通常都会用到水平居中和垂直居中来设计,而水平居中很好处 ...

  7. C库函数qsort七种使用方法示例

    这篇文章是  一楼那个学长写的  C库函数qsort七种使用方法示例 七种qsort排序方法<本文中排序都是采用的从小到大排序> 一.对int类型数组排序 C++代码 int num[10 ...

  8. javascript加密七种方法

    本文一共介绍了七种javascript加密方法: 在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的javascript代码常常被别人轻易的拷贝,实在让自己的心里有点 ...

  9. CSS中垂直居中的七种方法

    前言: 我们在编辑一个版面,通常都会用到水平居中和垂直居中来设计,而水平居中很好处理,不外乎就是设定margin:0 auto:或是text-align:center:,就可以轻松解决掉水平居中的问题 ...

最新文章

  1. 【Android Demo】悬浮窗体实现
  2. 2017 Material design 第四章第三节《度量和参考线》
  3. Android L 的 Tint(着色)
  4. 题解-ZeroJudge-c686 高斯符號
  5. gps测速仪手机版下载_银豹收银系统手机版下载-银豹收银系统手机安卓版APP下载v2.0.1.2...
  6. 格而知之11:我所理解的内存管理(2)
  7. 另一种blast2go的思路
  8. [cocos2d-x]SpaceFighting[安卓/IOS都适用]
  9. 单例(Singleton)设计模式
  10. windows 组播收不到消息_只需2步,轻松解决登录微信电脑版后,手机收不到消息提醒的问题...
  11. 使用scrapy再次爬取猫眼前100榜单电影!
  12. Archetype是什么?
  13. C语言及程序设计初步例程-4 C语言程序初体验
  14. POJ 2993 Emag eht htiw Em Pleh (模拟)
  15. 红米K30s和华为Mate30Epro哪个好
  16. 分布式数据库中间件Mycat介绍
  17. TCP/IP详解 (12)广播和多播
  18. 鸿蒙之境怎么不更新了,神都夜行录鸿蒙之境策驱三运高级特点分析 打法攻略分享...
  19. 案例:数字孪生打造智慧矿山三维可视化系统
  20. caddy2发送真实IP

热门文章

  1. ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList
  2. cartographer 配置过程
  3. 业务层战略制定的思路和方法_智能商业时代的一种敏捷战略框架
  4. flink 自定义 窗口_Flink入门实战 (下)
  5. c语言fread无法存储,【求助】C语言fread读取二进制文件时,读取结果全都是零
  6. Keil C语言数据类型,KeilC的指针类型
  7. GitHub分享《深度学习500问》优质资源
  8. tf.squeeze示例代码
  9. python库缺少pkg_resource_ImportError: No module named pkg_resources解决方案
  10. linux 内存居高不下,Linux 内存占用总是很高为何依旧很流畅?