web-dev-qa-db-ja.com

ダミーについて説明されたAOPの概念

誰かがダミーのAOPの概念を説明できますか?.

例:アスペクト:複数のクラスにまたがる懸念のモジュール化これはどういう意味ですか?

19
dumbJoe

懸念事項を機能グループとして考えてください。ロギング、監査、セキュリティ

これらの機能は、ほとんどのコードに存在しますが、実際には、animal-> dogクラスにはありません-これらは、多くのクラスで機能するはずの機能です横断的関心です。

  • Joinpointは、アスペクトコードが実際に実行されるコード内の場所です。

  • pointcutは、どのコードがジョイントポイントで実行されるかを言う方法です。

  • ウィービング-コンパイラ/システムが通常のコードを取り、すべてのAOPコードを含めて正しいコードなどをトリガーする場合-これは追加のプリコンパイルステップと考えることができます。

簡単に理解できる例は次のとおりです:

  1. デバッグ目的ですべてのメソッド呼び出しを追跡したい(つまり、どのメソッドがどの順序で呼び出されたかを確認したい)。
  2. 呼び出されたときにメソッドの名前をログに記録するアスペクトを作成します
  3. コード内のすべてのメソッドにアスペクトを関連付けるポイントカットを作成します。ほとんどのAOPフレームワークでは、いくつかのワイルドカードを使用してこれを簡単に行うことができます
  4. これで、呼び出されたすべてのメソッドのログが記録されました。

異なる実装とAOPフレームワークでは、用語が少し異なることに注意してください。

15
Jonno