zoukankan      html  css  js  c++  java
  • (一)七种AOP实现方法

     在这里列表了我想到的在你的应用程序中加入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

    实现非常困难

  • 相关阅读:
    编程范式 epesode7,8 stack存放指针类型and heap,register
    编程范式 episode 6 实现stack 栈功能_ to do
    C 运算符优先级
    编程范式 episode3 and 4,5
    编程范式 epesode2 negative values, float 精度
    C 数据类型 长度
    memcpy code
    排序算法 2 qsort 库函数,泛型函数
    sin, miss the mark, correct our aim and try again
    排序算法 1
  • 原文地址:https://www.cnblogs.com/chenh/p/9917975.html
Copyright © 2011-2022 走看看