AOP在 .NET中的七種實現方法

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   os   使用   sp   for   

AOP在 .NET中的七種實現方法

 

Here are all the ways that I can think of to add AOPto your application. This mostly focus on the interception side of things,because once you have that, everything else it just details.

在這裡列表了我想到的在你的應用程式中加入AOP支援的所有方法。這裡最主要的焦點是攔截,因為一旦有了攔截其它的事情都是細節。

 

Approach

方法

Advantages

優點

Disadvantages

缺點

Remoting Proxies

遠程代理

Easy to implement, because of the .Net framework support

容易實現,因為有.NET 架構的支援。

Somewhat heavy weight
Can only be used on interfaces or MarshalByRefObjects

微顯重量級

僅在介面或 MarshalByRefObjects 上使用

Deriving from 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 already exists)
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

實現非常困難

 

文獻來源:http://ayende.com/blog/2615/7-approaches-for-aop-in-net

AOP在 .NET中的七種實現方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.