S2Container.NETのAOP機能のことをS2AOP.NETと呼びます。 AOPとは、Aspect Oriented Programming(アスペクト指向プログラミング)の略です。 プログラム本来の目的とは異なる処理を内部に埋め込まず、外から織り込むように作ることです。
プログラム中に挿入されるコードを表します。Interceptorと呼ばれることもあります。
対象となるクラスとAdviceを結合するポイントを表します。AdviceはJoinpointから引数やメソッドの情報を取得することができます。
どこにJoinpointを設定するのかを定義します。
AdviceとPointcutを関連付けます。
S2AOP.NETは標準でSystem.Runtime.Remoting.Proxies.RealProxyを用いて実装されていますが、 これをCastle.DynamicProxyを用いたSeasar.DynamicProxyに差し替えることができます。(1.2.0 for .NET 2.0以降) Seasar.DynamicProxyのセットアップについては以下のドキュメントを参照して下さい。
セットアップ - Seasar.DynamicProxyのセットアップ
標準のSystem.Runtime.Remoting.Proxies.RealProxyを用いた実装と、 Seasar.DynamicProxyを用いた実装には、以下の特徴・制限があります。