4

在 C#/.Net 中进行面向方面编程 (AOP) 的最佳/最流行的方法是什么?

4

5 回答 5

6
于 2008-09-25T15:45:32.970 回答
3

Postsharp是另一个著名的:“将 AOP 引入 .NET!” 我对它的经验很少,但它看起来不错,值得一看。

于 2008-09-25T15:48:12.637 回答
2

PostSharp很好。我已经使用它大约一年了。考虑到它所提供的近乎神一般的力量,它易于安装并且学习曲线相当浅。此外,似乎既有一个活跃的开发者社区,也有一个响应迅速的开发者。

查看 PostSharp 主页上的代码示例。这些都是用 PostSharp 完成的简单方面的好例子。

于 2009-07-23T22:20:07.673 回答
1

我已经使用 Spring.Net AOP Framework 大约 9 个月了。即使编织是在运行时而不是在编译期间完成的,它也非常强大,并且似乎不会在使用中造成性能损失。唯一需要注意的是,尽管您应用建议的对象不需要了解 Spring.Net AOP,但它们必须至少实现一个接口。顺便说一句,对于 Spring.Net 而言,该文档通常非常出色,它指出此限制将在将来的版本中删除,但没有给出路线图。

Spring.Net AOP 不需要您使用 Spring.Net 框架的其余部分,可以单独使用。

于 2010-04-08T16:15:29.603 回答
0

对于几种不同类型的事情,我玩过自己的滚动。我有一些运气。一般来说,我创建一个接口,用一个类实现它,然后创建一个实现接口的代理,执行我想要的任何前置条件步骤,调用真实对象的方法,然后执行我想要的任何后置条件步骤。我对这种方法的主要烦恼之一是接口中不能有构造函数,接口中也不能有静态方法,因此没有明显的地方可以放置这种类型的代码。困难的部分是代码生成——因为你要么要发出 IL,要么要发出必须编译的 C#。但这只是我的方法。它迫使我一次只考虑一个方面,真的——我没有 没有达到我可以抽象出“方面”并以这些术语思考的地步。简而言之:推出自己的工具集或找到您喜欢的工具集,可能来自埃里克·博登的名单

于 2008-09-25T15:44:04.473 回答