スマートフォン用の表示で見る

aspectj

コンピュータ

AspectJ

あすぺくとじぇい

Java プログラムをターゲットにしたアスペクト指向プログラミング言語。 「Java プログラムをターゲットにする」とは、概ね、Java プログラムに対して処理を織り込む(割り込ませる)と言う意味。

ajc:コンパイルと織り込みを行うツール

AspectJ (と Java)で書いたプログラムを実行できる形式するためには、コンパイルと織り込みを行う必要があります。 これは ajc を用いて行います。 Java にとっての javac と同じようなものです。

開発組織

現在、開発は(Java IDE で有名な)Eclipse.org の Tools Project 下で行われています。 ここでは AspectJ とともに、その開発用の Eclipse プラグインである AJDT (AspectJ Development Tools) も(別サブプロジェクトとして)開発されています。

AspectJ 5

AspectJ ではポイントカットやアドバイスの指定に(Java とは異なる)独特の構文を使うため、Java プログラマにとって閾が高く感じられます。 この問題を解消するために、AspectJ 5 以降では Java 言語の文法にしたがった Aspect の定義ができるようになりました。  基本的には「アノテーションを用いてポイントカットやアドバイスの種類を設定する」という形だと思ってください。

ただし、「ポイントカットを書くために空のメソッドを書かないといけない」とか、「ポイントカットを書く際には、結局元来の構文を書かないといけない」などのぎこちなさがあります。