2004-04-28

アスペクト指向プログラミング

最近あちらこちらで見かける「アスペクト指向プログラミング」という言葉。
私が思うには、開発の手法というよりは、保守性、機能拡張を向上するために研究されたものという感じかな。

このアスペクトという考え方はすごいというか、こんなことができるのかという感じです。
いろいろなところで説明がされていますが、例がないと分かりにくいし、説明をするのも難しくなります。
そのため、概念説明+例による説明って構成で説明されています。
面白いのは、ほとんどの例に取り上げられるのが、ログ機能の追加という例。みなさん、よほどロギングの機能の実装に苦労しているのでしょうかね。(笑

簡単に説明すると、ある機能を実装するオブジェクトがあるとします。そのオブジェクトにログ機能を追加するとしましょう。
いろいろなアプローチがあるかとは思いますが、そのオブジェクトのメソッドにログ出力を行うための処理を追加するのが一般的なのかもしれません。
しかし、それが1個所なら問題がありませんが、いろいろな個所に追加しなければならないとしたらどうでしょうか。
まぁ、力技でコーディングすればいい話ですが、実装ミスや再テストが必要になるでしょう。

そこでアスペクトという考え方が登場するわけです。
上記の例ならまずログを出力する機能を実現するオブジェクト(アスペクト)を用意します。
そして、ログ出力をいつ実行するか記述するだけなのです。
つまり、もとのオブジェクトは一切変更せずに、ログ機能を追加することが可能なのです。(信じられません)

私はどうやって実現するのかを考えることがあるので、一種のフックかなぁと思ったりもしますが、実現方法を考えるとアスペクト指向の本質を誤解する可能性があります。
ということで概念を学ぶことが重要だと思っています。

しばらくはアスペクト指向に興味を持って勉強してみたいと思います。







Posted by darksky  :  2004-04-28 14:38        このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをniftyクリップに追加    

Related Posts

Responses (2)

  1. US

    アスペクトじゃなくてアクセプトになっちゃってますね。

  2. Darksky

    おお、ご指摘ありがとうございます。
    恥ずかしいので修正しました。(w

Leave a Comment

Please note:
Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.


 楽天 


 アマゾン 
のだめカンタービレ #21 (21) (講談社コミックスキス) 和書 1位: のだめカンタービレ #21 (21) (講談社コミックスキス)
講談社
発売日:2008-08-11
価格:   

BEST FICTION(DVD付) ポピュラー音楽 1位: BEST FICTION(DVD付)
エイベックス・エンタテインメント
価格:   

Mr.Children “HOME” TOUR 2007~in the field~ DVD 1位: Mr.Children “HOME” TOUR 2007~in the field~
トイズファクトリー
価格:   

SanDisk UltraII メモリースティックPRO Duo 8GB 転送速度15MB/Sec SDMSPDH-008G-J61 エレクトロニクス 1位: SanDisk UltraII メモリースティックPRO Duo 8GB 転送速度15MB/Sec SDMSPDH-008G-J61
サンディスク
価格:   

Norton Internet Security 2008 ソフトウェア 1位: Norton Internet Security 2008
シマンテック
価格:   

デビルサマナー 葛葉ライドウ対アバドン王 Plus(真・女神転生III NOCTURNE マニアクス クロニクル エディション同梱) ゲーム 1位: デビルサマナー 葛葉ライドウ対アバドン王 Plus(真・女神転生III NOCTURNE マニアクス クロニクル エディション同梱)
アトラス
価格:   



KISS初来日公演の放送が決定     ハルウララの妹