私はAspects
に興味がありましたが、私はAspects
の利点と使い方を理解するのが難しいです。以前はC++でMacros
を使っていました。 Aspects
も同じように働いていると思います。私は "あなたがXを見るときはいつも、コードYを挿入する"という意味です。たぶん、私はを学ぶために私のMacro
の知識を使ってみるべきではありません。JavaとMacOSの相違点
Aspects
とMacros
を比較して具体的な例を教えてください。
私はAspects
に興味がありましたが、私はAspects
の利点と使い方を理解するのが難しいです。以前はC++でMacros
を使っていました。 Aspects
も同じように働いていると思います。私は "あなたがXを見るときはいつも、コードYを挿入する"という意味です。たぶん、私はを学ぶために私のMacro
の知識を使ってみるべきではありません。JavaとMacOSの相違点
Aspects
とMacros
を比較して具体的な例を教えてください。
マクロはスタティックコードが注入され、全体としてコンパイルされます。アスペクトは静的でも動的でもあります。コードを挿入するコードにポイントカットを追加します。続行するかどうかを決定します。たとえば、ロギング、セキュリティ、トランザクション管理に使用されます。
マクロでは、マクロを適用する場所ごとにソースコードを指定する必要があります。
アスペクトでは、変更する必要があるすべての場所を別々の場所に定義します。
アスペクトを追加/削除する場合は、スポット上で変更するだけで済みますが、マクロを追加/削除する場合は、マクロが使用されているすべての場所を変更する必要があります。
一方、マクロはより強力で、より自由に使用できます。