AOPことアスペクト指向プログラミング(リンク)は、クラスのソースに明確にコードを配置することなく、デベロッパがオブジェクトやメソッドを通じて、コードのフラグメントを「組み上げる」ことを可能にするものである。この追加のコードは、しばしば「アドバイス」と呼ばれるが、構成ファイルに格納されることが多 い。しかし他の選択肢もある。おそらく、もっとも広範囲にわたるAOPシステムは、Javaの拡張子であるAspectJ(リンク)である。
数年間AOPは、賛否両論を呼んでいる。それは、セキュリティやロギングのように日常的な作業であると断言するものもいるが、ソースで簡単に表示することができないコードの注入をためらうものもいる。しかし、たとえそれが好きではなくても、早かれ遅かれおそらくそれを使用するコードを偶然見つけるだろう。
現在AOPを使用もしくはそれを使うことに関心を抱いている.NETデベロッパにとって、選択肢の1つにPostSharp(リンク)がある。PostSharpは、 後処理を使用しクラスにアドバイスを追加する。これには、必要なコードフラグメントを注入するために、コンパイル済みのEXEやDLLを修正することが含まれる。PostSharpについては、アドバイスはたいてい属性で示される。
近ごろ、PostSharp 1.5がSilverlight 2をサポートする(リンク)ことが発表された。このCTPのリリースには、 .NET Compact FrameworkおよびNovell’s Monoのサポートも含まれる。Chris Koenig氏がPostSharpの例(リンク)をいくつか紹介している。
原文はこちらです: