■ Java アスペクト指向プログラミング(AOP/Aspect Oriented Programming)
・この場合の「アスペクト」とは「視点」のこと
・アスペクト指向プログラミングとは、「特定の視点からの処理をサポートするプログラミング」といった意味で、継承関係などの関係のない処理(メソッド)に同じような処理を挿入することをいう。
・例えば具体的には、いろいろなメソッドにログ出力を(プログラムを変更しないで)入れるようなことをいう。注、書籍やネット上の情報では、アスペクト指向プログラミングの例としては、ほとんどこのログの事例しか見ることができない
・ログ出力以外のアスペクト指向プログラミングの重要な適用例としては、トランザクション処理が挙げられる
・指定されたメソッドの開始時にトランザクションを開始し、メソッドの終了時にトランザクションをコミット(あるいはロールバック)を行うことがソースコードを変更しないで可能となる
注、アスペクト指向はオブジェクト指向と同レベルの重要性を持ったものではない
□ AOPの実現
・AOPの実現するには、いくつかの方法がある、例えばJavaのクラスファイルを書き換えるなども方法もある
・その一つの方法であるProxy方式について解説する
・Proxy方式のAOP
・状況
・クラスAのオブジェクトの中にインターフェースBを実装したオブジェクトB0がある
・Aオブジェクトは、BのbMethodメソッドを呼び出す
・bMethodメソッドの呼び出しの前後にログを出力する
・実現方法
・Aオブジェクトの中にBを実装したBDummyオブジェクトを設定する
・BDummyオブジェクトの中には、B0オブジェクトを設定する
・BDummyオブジェクトのbMethodメソッドは、ログを出力し、B0オブジェクトのbMethodを呼び出した後、ログを出力する
-----------------------------------------------------
・目次 Java 雑多
http://blogs.yahoo.co.jp/artery2020/40586387.html
・目次 - Java入門
http://blogs.yahoo.co.jp/artery2020/39975776.html
・目次 - ビジネスパーソンの常識と非常識
http://blogs.yahoo.co.jp/artery2020/39728331.html
・目次 - 論理・発想・思考についての考察と鍛え方
http://blogs.yahoo.co.jp/artery2020/39657784.html
-----------------------------------------------------