0

このトピックはすでに議論されているように見えるかもしれませんが、私が言いたいことや質問したいことがいくつかあります。

明らかな質問は次のとおりです。.NET 4.0 エンタープライズ アプリケーションにはどの AOP ライブラリを使用すればよいか知りたいですか? .NET 用の Aspect-Oriented Programming (AOP) libraries are still activedeveloped の投稿によると、PostSharp、Spring.NET、または Microsoft の Policy Injection Application Block を選択する必要があります。しかし、それぞれに問題があります。

  1. PostSharp:これは最適ですが、開いていません。ソースが公開されているものが必要です。
  2. Spring.NET:これは重すぎて、静的ではないクラス、非シールでなければならないクラス、プロパティとメソッドが仮想でなければならないクラスのみをインターセプトできるなどの制限があります...
  3. Microsoft の Policy Injection Application Block:投稿のPolicy Injection Application Blockによると、これは現在レガシー コンポーネントであり、MS によってサポートされなくなる可能性があります。また、Unity インターセプト メカニズムを介して実装されるため、Spring.NET と同じ制限があります ( PostSharp の代替)

投稿に出くわしましたアスペクト指向プログラミング: 一歩一歩学び、独自の実装を展開してください! . 私はまだそれを使用していませんが、投稿を読んで、それが私の目的に役立つはずだと思いました. 誰かがそれを試したかどうか、そしてそれを勧められるかどうか知りたいですか?

もう 1 つ質問があります。私は DI に Unity を使用しましたが、それはすべてクールですが、AOP の場合、Unity は私の目的には適していません。Unity と AOP 用の何かを同じアプリケーションに入れるのは良いことですか? 何か問題はありますか?

誰でもここで私を助けてもらえますか? 前もって感謝します!

4

1 に答える 1

0

PostSharp を除外し、静的コードをインターセプトしたい場合、いくつかの良いオプションが見つかると思います。

チェックアウトできるオプションとして、SheepAspect と Fody があります。どちらも、PostSharp と同様のアプローチ (ポストコンパイル ウィービング) を採用しています。どちらも非常に優れており、有望ですが、PostSharp に比べて比較的新しいものです。

于 2013-04-07T19:51:49.420 に答える