2017-03-08 48 views
0

私はAspectsに興味がありましたが、私はAspectsの利点と使い方を理解するのが難しいです。以前はC++でMacrosを使っていました。 Aspectsも同じように働いていると思います。私は "あなたがXを見るときはいつも、コードYを挿入する"という意味です。たぶん、私はを学ぶために私のMacroの知識を使ってみるべきではありません。JavaとMacOSの相違点

AspectsMacrosを比較して具体的な例を教えてください。

答えて

1

マクロはスタティックコードが注入され、全体としてコンパイルされます。アスペクトは静的でも動的でもあります。コードを挿入するコードにポイントカットを追加します。続行するかどうかを決定します。たとえば、ロギング、セキュリティ、トランザクション管理に使用されます。

0

マクロでは、マクロを適用する場所ごとにソースコードを指定する必要があります。

アスペクトでは、変更する必要があるすべての場所を別々の場所に定義します。

アスペクトを追加/削除する場合は、スポット上で変更するだけで済みますが、マクロを追加/削除する場合は、マクロが使用されているすべての場所を変更する必要があります。

一方、マクロはより強力で、より自由に使用できます。

関連する問題