アスペクト指向プログラミング(AOP)は興味深い概念のようです。最初はかなり熱心でしたが、もっと読んで、人々が説明しているユースケースを見ると、がっかりしました。
私が見た多くのサイトに加えて、AspectC ++の開発者からのプレゼンテーションでは、かなり疑わしいと感じたユースケースが提示されました。
彼らは、AOPを使用してエラー処理(例外のスロー)を実行したり、パラメーターと戻り値の境界チェックを実行したり、問題が発生した場合に安全なnullオブジェクトを返したり、セキュリティなどを実行したりする方法について話しました。これらは単なる悪い例です(実際の使用ではありません)。ケース)、または私は何かが欠けていますか?
関数を呼び出すときに何が起こっているかをどのように認識する必要がありますか?適用することを決定した側面に応じて、事実上何でも起こり得ます。それは本当にひどく物事を台無しにするつもりではありませんか?APIドキュメントはどうですか、どのように書くのですか?
これまでのところ、私が見たAOPの唯一の良いユースケースは、ロギングやプロファイリングなどです。実際のロジックフローに影響を与えず、デバッグツールとしてのみ機能するものです。
AOPはデバッグメカニズム以外の用途に役立ちますか?