随笔 - 29  文章 - 13  trackbacks - 0
<2006年10月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

相册

收藏夹

c++

Linux

Tools

搜索

  •  

最新评论

阅读排行榜

评论排行榜

.Net AOP Frameworks Research Report v1.1

原文地址:http://teddyma.cnblogs.com/archive/2005/08/31/226688.html

1.  Aspect#

Version: 2.1.1.0

Link: http://aspectsharp.sourceforge.net/

Status: beta

Dependency: antlr, Castle.DynamicProxy

Description:

Aspect# is an AOP (Aspect Oriented Programming) framework for the CLI (.Net and Mono). It relies on DynamicProxy and offers a built-in language to declare and configure aspects, and is compliant to AopAlliance. It became part of the Castle Project in June 2005.

Main Features:

-  Custom mini configuration language, not xml.

-  Mix/Intercept classes and methods through dicnamic proxy approach.

Restrictions:

- Classes to be created dynamic proxy for shouldn’t be sealed and only virtual methods can be intercepted.

-  Using intercepted classes is not completely transaparent to users that users should explicit create the dynamically proxied class through the AspectEngine.

-  No static weaving support.

2. AspectDNG

Version: 0.7

Status: beta

Link: http://sourceforge.net/projects/aspectdng

Dependency: mono.petoolkit, rail

Description:

AspectDNG is a .NET aspect weaver, that's to say a tool that can "transplant" code into an existing assembly. This transplant is made after the standard .NET compilation, which means that both aspect and the so called "base" code (the one the transplant will be operated on) can be developped in any programming language that is compatible with .NET CLS. Another way to say that: AspectDNG works on assemblies (EXE or DLL) that may have been created out of C#, VB.NET, Eiffel.NET, Mananged C++...

Main Features:

-  Xml, Xpath based configuration file format.

-  IL level static Weaving.

-  Custom xml based disassembled language ILML which can be used to convert assemblies to and be modified/combined and then converted to assemblies.

Restrictions:

-  Static weaving only.

-  Not very stable.

3.  Eos

Version: 0.3.3

Link: http://www.cs.virginia.edu/~eos

Status: beta

Dependency: none

Description:

Eos is an aspect-oriented extension for C# on Microsoft® .NET Framework™. Eos aims to improve upon the current aspect-oriented language model in three dimensions. First, it generalizes aspect instantiation & advice weaving model to eliminate the need for the work-arounds that are unavoidable today when aspects are used to express certain crosscutting concerns. Second it generalizes the join point model. Third it aims to eliminate the distinction between class and aspect constructs in favor of a single conceptual building block that combines the expressive capabilities of current classes and aspects, significantly improving conceptual integrity and uniformity in language design. The language is very similar to AspectJ except for constructs which are not implemented in Eos and constructs which AspectJ does not provides.

Main Features:

-  AspectJ like extended C# langauage and custom compiler.

Restrictions:

-  Static weaving only.

-  Not very stable.

4.  Encase

Version: 0.7

Link: http://theagiledeveloper.com/category/15.aspx

Status: beta

Dependency: none

Description:

Encase is an aspect oriented programming framework for the .NET Platform written in C#. Encase is unique in that it provides aspects to be applied during runtime in managed code rather then being configuration file based that other AOP frameworks rely upon. The advantage of applying aspects in this way is that it promotes productivity to developers new and/or unfamiliar with AOP.

Restrictions:

-  Encase cannot mixin multiple classes that implement a shared interface? For instance, if class A implements Ialphabet, and class B implements Ialphabet, classes A and B can not both be mixed in as an aspect.

-  Encase can only provide interception and aspect weaving to virtual (overriable) methods and properties.

-  Encase is unable to apply aspects to sealed (NotInheritable) classes.

-  Like Aspect#, but more unstable.

5.  Post#

Version: 1.0.0.0

Link: http://gael.fraiteur.net/postsharp.aspx

Status: alpha

Dependency: none

Description:

PostSharp is a free and open-source post-compiler for the .NET Framework. PostSharp is an extensible platform that makes it easy to develop and execute static program analysis and program transformation plug-ins.

Main Features:

-  Developped under .Net Framework 2.0 beta

-  There is a very good third pary collection library – “Xipho.Collections” for .Net 2.0 in the source code

Restrictions:

-  Not say to be a really aop framework yet.

6.  Loom.Net

Version: 1.5 Beta2

Link: http://www.dcl.hpi.uni-potsdam.de/research/loom/

Status: beta

Dependency: none

Description:

The LOOM .NET project aims to investigate and promote the usage of AOP in the context of the Microsoft .NET framework. We have been developing two AOP tools (so called weavers) that all implement different approaches to weaving: A runtime weaver crating weaved objects on the fly and a static weaver.

Main

Features:

-  Support under .Net Framework 2.0 beta

- Include both dynamic proxy based dynamic interception and il level rail like static weaving support.

Restrictions:

-  Not very stable.

7.  Others

AspectC# (AspectJ like C# extended compiler)
 
Weave.NET (provide a load-time il level weaving implementing)
posted on 2006-07-26 14:26 四海 阅读(1066) 评论(3)  编辑 收藏 引用 所属分类: 类库/框架

FeedBack:
# re: .Net AOP Frameworks Research Report v1.1 2010-01-02 05:25 Gemma18
To know more about this post, students must <a href=" http://www.gogetessays.com">buy essays</a> at the essay writing service.   回复  更多评论
  
# re: .Net AOP Frameworks Research Report v1.1 2010-07-24 22:37 loans
When you're in uncomfortable position and have no money to go out from that point, you will have to take the business loans. Because that will aid you definitely. I take auto loan every single year and feel good just because of it.   回复  更多评论
  
# re: .Net AOP Frameworks Research Report v1.1 2010-08-05 05:33 essay buy
People have to guess twice before they start the good term paper composing, because that can be really easier to buy essay from argumentative essay writing service. Furthermore, it saves time!   回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理