私はアスペクト指向プログラミングを勉強しており、AspectJ を使用していくつかのアスペクトを作成し、クラスを変更したいと考えています。問題は、クラスのすべてのインスタンスがすべての側面によって変更されていることです。各インスタンスに使用する側面を選択したいと考えています。
別の問題、同じメソッドのさまざまな側面からのアドバイスの順序を選択する方法は?
ありがとう
これはあなたが探している答えではないかもしれませんが、クラスのすべてのインスタンスがアスペクトによって変更されるのは設計によるものです。AspectJは、プログラムの一部ではなく、プログラム全体のセマンティクスに影響を与えると考える必要があります。
AspectJはバイトコード操作によって実装されるため、AspectJ仕様の一部であっても、個々のインスタンスに変更を加えることはできません。
ただし、個々のインスタンスにウィービングするだけで実装に問題があることを意味するため、実装が必要なものを実装する別の方法があるかもしれません。