マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

.NET FrameworkでAOPを実現するための手法の1つである
「透過プロキシ(RealProxy?クラス)」の概要、使用方法、
そして、サンプル コードについて説明する。

ココでは、.NET FrameworkでAOPを実現するための
手法の1つである透過プロキシにフォーカスしてこれを説明する。

透過プロキシ

透過プロキシの概要

透過プロキシとは、種々のリモート処理 基盤技術を使用して
境界を越えオブジェクトを転送するためのプロキシである。

捕捉:

透過プロキシの基本的な動作

以下、透過プロキシの基本的な動作を説明する。

(1)

透過プロキシの基本的な動作1

(2)

透過プロキシの基本的な動作2

(3)

透過プロキシの基本的な動作3

透過プロキシでAOPを実現

透過プロキシの働きについては、前項で説明した通りである。

しかし、ココでは、これらの応用的な利用方法までは説明しない。

動作確認用のサンプル プログラム

ターゲット クラス

ターゲット クラスは、本書で説明した「オブジェクトA」、
すなわち、クライアントが使用したいオブジェクトのことである。

実装のポイントは、MarshalByRefObject?クラスを継承することであり、その他は任意の実装が可能である。
サンプル プログラムでは、様々なシグネチャのメソッドの呼び出しをテストするために、
様々なシグネチャのメソッドをターゲット クラスに実装してある。

透過プロキシ

コンストラクタ

また、透過プロキシ1、2で、コンストラクタの実装が若干異なる。
異なる点は、ターゲット クラスのオブジェクト インスタンスを生成する方法である。

Invokeメソッド

透過プロキシ1、2ともInvokeメソッドの実装は同じである。

参考

AOP、不評ですね(私も全く使ってないです)。


Tags: :プログラミング, :.NET開発


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS