MacBSの日常生活的日記

アスペクト指向入門

本屋さんで「アスペクト指向入門」という本を見つけました。

4774125814 アスペクト指向入門 -Java ・ オブジェクト指向から AspectJプログラミングへ
千葉 滋
技術評論社 2005-11-18

by G-Tools

「なんちゃってプログラマ」らしく、たまにはプログラミングがらみの話題も
取り上げてみようかなぁと。(笑)

仕事では主にCやC++,フリーソフト開発ではC++、最近ではVB.Netを使う
ことが多い私は、オブジェクト指向に関しては、まぁそれなりに理解してるつもりで
います。

それに対して、「アスペクト指向」はプログラム全体に渡る横断的な関心事項が
必ずしもオブジェクトには分解されず、しばしばオブジェクトにまたがってしまう点に
着目して、これを「アスペクト」にまとめて記述しちゃおうという考え方です。
…って、私も完全に理解してるわけじゃないですけどね。(^^;

たとえば、デバッグ文などを入れるロギングとか、エラー処理、パフォーマンスの
最適化、UIとか、そういうものは、確かにプログラム全体に横断する事項ですよね。

まぁ、C++とかだと、こういうオブジェクトに馴染みづらいものは、Cベースで
マクロ使ったりとか、共通関数ライブラリなんかで逃げちゃうことが多いんですが、
そこをもっとスマートにやっちゃえる理論みたいです。

上の本では基礎的なことから、実際にアスペクト指向をJavaに導入するAspectjの
紹介などをしてくれてますが、C#なんかでも「属性」を用いて、アスペクト指向な
プログラムは書けるみたいですし、参考になりました。

ほかにも、分散コンピューティングや大人数での開発などでも役立ちそうな
考え方だと思うし、この機会にちょっと勉強しておこうかなぁと思ってます。

特にC#に関しては実践的に使っていったらどうかなぁ?と思い始めてるんで、
まずはVB.Netで作ったフリーソフトあたりを移植してみたりなんかするのも
良いかもしれませんね。
まぁ、機能面で変化があるわけじゃないので、気が向いたら、ですけれど。

モバイルバージョンを終了