アスペクト指向プログラミング

ジョインポイント(Join Point

アスペクトと従来のモジュール単位とを接続するために 使える場所(あるいは時点)のことです.解説記事などでは,「結合点」という訳語が当てられていることもあります.

developerWorks などでは "well-defined points in a program's execution" として説明されています. 要は,プログラムの実行中に起こるイベントなどのことです.

利用可能なジョインポイントの種類を規定したものが ジョインポイントモデル(Join Point Model)と呼ばれており, AspectJ におけるモデルは, メソッドの呼び出し,実行,フィールドの参照,代入,例外の送出などを ジョインポイントとして採用しています.

開発者は,ジョインポイントの集合から,処理を関連付けたい部分集合 (特定のメソッド呼び出しなど)をポイントカットとして選び出し, 処理(アドバイス)を関連付けます.

ポイントカット(pointcut)

開発者が興味を持っている(アスペクトが関与する)ジョインポイントだけを選び出した,ジョインポイントの部分集合です.

たとえば,「Database へのクエリーを記録したい」と開発者が考えている場合,それに対応する実行時点として「Database.query メソッドの呼び出し」をポイントカットとして選択することになります.

AspectJの場合,特別な述語を使ってポイントカットを定義します. AspectJ/簡易リファレンスに,簡単にですが例を紹介しています.


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-01-10 (火) 14:24:49 (4642d)