<a href="http://www.atmarkit.co.jp/farc/rensai/redge24/redge24.html">アスペクト指向プログラミング オーバービュー</a> (@IT)

最近はやりのAOPについて勉強してみる。

関数呼び出しに対してフックをかけられる仕組みだと勝手に解釈した。ログ取りなどの特定の目的には非常に有用だろうし、色々な応用例も考えられそう。AOPを利用するファイルアップロードモジュールみたいなものがあれば、プログラマが通常のファイル出力をする感覚でネットワークにデータを書けそう。いくつもの既存のソースに対して、ファイルアップロードモジュールのアスペクトを適応してリビルドするだけで、ネットワーク対応のプログラムになってしまう。もちろん、OOPでも色々と工夫すれ同様のことはできるのだけど、「既存のソースは変更しない」という点が強みだろう。デザインパターンのDECORATOR(デコレータ)パターンを言語レベルで導入したような感じだろうか。

そんなこんなで、色々楽しそうではあるのだけど、十分に設計してからプログラミングしないととても解読できないようなプログラムになりそう。BASIC時代のGOTO文を多用したスパゲッティプログラムのさらに上を行きそう。バグの原因特定や切り分けも煩雑になるんじゃないでしょうか?

.NETJAVAも全然触ってないから時代から置いて行かれるような感じだ。 .NETプログラミングでGUIのアプリを1つぐらい作ってみようかなぁ。

© nitoyon 2002-2012. All rights reserved.